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

use*_*266 14 powershell filesize get-childitem

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

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

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder
Run Code Online (Sandbox Code Playgroud)

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

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder | Select-Object -property Length
Run Code Online (Sandbox Code Playgroud)

现在输出:

                                         Length
                                         ------
                                         85554
                                         54841
                                         87129
                                        843314  
Run Code Online (Sandbox Code Playgroud)

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

任何帮助或替代方法表示赞赏!

Ans*_*ers 28

使用Measure-Objectcmdlet:

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

要获得GB的大小,请将值除以1GB:

$totalSize = ($files | Measure-Object -Sum Length).Sum / 1GB
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以像这样用一根衬纸来做。

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
Run Code Online (Sandbox Code Playgroud)