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

Posted

技术标签:

【中文标题】添加 Get-ChildItem 列表的文件大小【英文标题】:Adding the file sizes of Get-ChildItem listing 【发布时间】:2013-07-16 17:33: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 新手,所以这并不多),尝试搜索 Google 但找不到任何相关结果。

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

【问题讨论】:

【参考方案1】:

使用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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于添加 Get-ChildItem 列表的文件大小的主要内容,如果未能解决你的问题,请参考以下文章

powershell获取windows子文件夹的大小

“[”和“]”字符弄乱了get-childitem

获取 GCS 中文件夹的文件数和总大小的最快方法?

使用长文件路径时的 Get-ChildItem 错误处理

如何Get-Childitem 只包含子文件夹和文件?

练习:将该字符的件文件名,文大小,操作方法切割出来