获取多个目录的存储空间使用情况

时间:2018-01-09 10:14:58

标签: powershell

我希望使用PowerShell获取多个目录中所有文件的总卷数。

例如C:\MyDir1\C:\MyDir2\&中的所有文件C:\MyDir3\但不在其他目录中。

我该怎么做?

1 个答案:

答案 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部分将结果四舍五入到两个小数位(如果这不是你想要的,那么删除或更改它)。如果要返回数值而不是字符串结果,只需删除此部分。