添加Get-ChildItem列表的文件大小

时间:2013-07-16 17:33:21

标签: powershell filesize get-childitem

我的目标是弄清楚网络驱动器上的所有图像占用了多少空间。

所以我检索所有图像列表的命令是:

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder

然后我想检索文件大小(Length)。

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder | Select-Object -property Length

现在输出:

                                         Length
                                         ------
                                         85554
                                         54841
                                         87129
                                        843314  

我不知道为什么它与右边对齐,但我想抓住每个长度并将它们全部加在一起。我迷路了并且尝试过我认识的所有事情(因为我是PS的新手,所以并不多),尝试搜索谷歌但未找到任何相关结果。

感谢任何帮助或替代方法!

2 个答案:

答案 0 :(得分:26)

使用Measure-Object cmdlet:

$files = Get-ChildItem -Recurse -Include *jpg,*bmp,*png \\server01\folder
$totalSize = ($files | Measure-Object -Sum Length).Sum

要获得以GB为单位的大小,请将值除以1GB

$totalSize = ($files | Measure-Object -Sum Length).Sum / 1GB

答案 1 :(得分:3)

你可以用这样的东西作为一个班轮。

Get-Childitem -path  "C:\Program Files\Internet Explorer" | Select-Object 
Name, @{Name="KBytes";Expression={ "{0:N0}" -f ($_.Length / 1KB) }}

Name          KBytes
----          ------
en-US         0
images        0
SIGNUP        0
ExtExport.exe 52
hmmapi.dll    53
iediagcmd.exe 500
ieinstal.exe  490
ielowutil.exe 219
IEShims.dll   398
iexplore.exe  805
sqmapi.dll    49