可以使用PowerShell获取文件的ID吗?我的意思是,如果你使用fsutil.exe,你得到的ID。
fsutil file queryFileID C:\temp发布于 2019-10-31 22:34:49
我知道这个比较老,但是我看不到一个好的答案,所以我要扔掉一个。@marzse的简短回答是正确的,没有一个PowerShell原生命令可以给出与fsutil相同的输出。如果文件在任何地方打开,您可以从Get-SMBOpenFile获取int64 FileID。然后,您可以使用一些.NET魔法将其转换为十六进制。
#gives us a 32 bit hex FileID for Comparison
fsutil file queryFileID C:\temp
#Get an int64 FileID
$int = Get-SMBOpenFile | Where-Object Path -eq "C:\temp" | Select-Object -Property FileID -Expand Property
#Convert int64 to hex32 and append 0x
$temp = '{0:x32}' -f $int
$hex = '0x' + [string]$temp
#Compare the two
if($hex -eq "pasted Hex from fsutil") {Write-Output "True"}这不是一个简单的答案,但写这篇文章花的时间比我弄明白的时间要长,所以我也不认为它很复杂。如果你不得不做很多事情,那就把它放到一个函数或脚本中,然后调用它。
https://stackoverflow.com/questions/54186909
复制相似问题