在Windows上获取一个文件的硬链接计数(没有fsutil,这需要pipe理员)

我有不同的文件,我使用mklink作为硬链接创build。 我需要一个可以在batch file中使用的命令来确定给定目录中的哪些文件只有一个链接。 我知道fsutil hardlink list链接fsutil hardlink list可以显示我的链接,但我需要能够以普通用户身份运行batch file,而上述命令不会没有pipe理员权限运行。 我正在寻找一种方法来做到这一点,而无需安装第三方应用程序。

我不知道有什么办法,但是对于PowerShell, Win32 API函数GetFileInformationByHandle返回BY_HANDLE_FILE_INFORMATION结构 ,其中包含nNumberOfLinks成员,它是一个数字值,指示文件的硬连接数。 ( 1表示没有硬链接,所以返回的数字是硬链接数+1)。