我希望使用PowerShell获取多个目录中所有文件的总卷数。
例如C:\MyDir1\
,C:\MyDir2\
&中的所有文件C:\MyDir3\
但不在其他目录中。
我该怎么做?
答案 0 :(得分:1)
试试这个:
$Folders = 'C:\MyDir1\','C:\MyDir2\','C:\MyDir3\'
"{0:N2} GB" -f ((Get-ChildItem $Folders -Recurse | Measure-Object -Property Length -Sum).Sum / 1GB)
Get-ChildItem
接受一个字符串数组作为其输入的-Path参数,因此您只需将路径列表定义为数组,然后将其发送到该参数。
然后您使用Measure-Object
返回这些项目的-Sum
属性的.Length
(包含大小),然后将其除以1GB
以转换该值到千兆字节。
结果通过"{0:N2} GB"
(格式)运算符在-f
字符串中表示。此字符串的:N2
部分将结果四舍五入到两个小数位(如果这不是你想要的,那么删除或更改它)。如果要返回数值而不是字符串结果,只需删除此部分。