是否有任何PowerShell命令可以遍历特定路径以查找大于n大小的目录? 我知道我可以找到大于n大小的文件,但我需要验证目录大小,因为有些情况下文件夹中有1000个文件,每个文件都有1个MB,所以目录的总数是1 GB。 这发生在C:\ windows下。
答案 0 :(得分:1)
PowerShell cmdlet不会累积目录中嵌套项的大小,但您可以使用FileSystemObject
COM对象:
$threshold = 1GB
$fso = New-Object -COM 'Scripting.FileSystemObject'
Get-ChildItem 'C:\root\folder' -Recurse -Directory | Where-Object {
$fso.GetFolder($_.FullName).Size -gt $threshold
}
PowerShell v3引入了-Directory
参数。如果您需要使用此功能来处理PowerShell v2,则需要选择带有Where-Object
过滤器的目录。
Get-ChildItem 'C:\root\folder' -Recurse | Where-Object {
$_.PSIsContainer -and
$fso.GetFolder($_.FullName).Size -gt $threshold
}