使用Windows PowerShell查找精确的文件大小

时间:2016-06-22 21:11:58

标签: powershell

Using-
Windows 7 Enterprise SP1 64bit
PSVersion 5.0.10586.117
Build 10.0.10586.117

我正在尝试查找用户帐户桌面上所有文件的确切总和,最大值,最小值和平均值(以字节为单位)。我正在运行以下命令 -

Get-ChildItem C:\Users\user\Desktop -recurse –File | Measure-Object -property length –sum -Maximum -Minimum –Average | Out-GridView -Title "Max, Min and Avg Size of Each File" 

输出结果为 -

count: 28
Average: 7,120.11
Sum: 199,363.00
Maximum: 87,040.00
Minimum: 0.00
Property: Length

但是,我的C:\ Users \ user \ Desktop的属性显示以下内容 -

Size: 194 KB (199,645 bytes)
Size on Disk: 284 KB (290,816 bytes)

我桌面上的最大文件是85.0 KB,因此代码的最大值结果也是错误的。

这些数字显然不匹配。我从PS命令显示的结果是什么?它们不是实际的文件大小。预期结果是总和与我桌面的属性匹配磁盘的大小或大小。请帮助我了解我的输出是什么以及如何获得我需要的东西。

谢谢!

1 个答案:

答案 0 :(得分:1)

在测试了Kory和TessellatingHeckler的想法之后,我找到了解决方法。 GCI需要-force标志才能在计算大小时查看隐藏文件。我的工作命令是:

Get-ChildItem C:\Users\user\Downloads -recurse –File -Force |
    Measure-Object -property length –sum -Maximum -Minimum –Average |
    Out-GridView -Title "Max, Min and Avg Size of Each File"

这仅适用于以字节为单位的计算。记在脑子里。