我正在使用以下众所周知的解决方案来递归查找大于指定值的文件:
forfiles /S /M * /C "cmd /c if @fsize GEQ 2000000000 echo @path"
除非我尝试使用此命令查找大于 2^31 的内容,否则这非常有效。例如
forfiles /S /M * /C "cmd /c if @fsize GEQ 3000000000 echo @path"
有问题,因为它还返回大小为 2310123265 的文件,不仅是大于 3000000000 的文件
我猜这是关于 32 位有符号整数运算的东西。
问题
如何搜索大于 3gb 的文件?
PowerShell 对于大值没有问题:
要仅获取路径,请通过 Format-Table 管道传输结果,但要小心避免截断:
(这是 PowerShell确实存在问题的一个领域)
gci
:)?
,where
){ -ge }
)ft
:)