20

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

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

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 新手,所以这并不多),尝试搜索谷歌但找不到任何相关结果。

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

4

2 回答 2

35

使用Measure-Objectcmdlet:

$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
于 2013-07-16T18:07:07.580 回答
11

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

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
于 2017-09-20T19:18:39.293 回答