我正在使用get-childitem命令来获取共享驱动器中的文件夹。但是当我使用属性length时,它返回空。如何使用powershell按大小对文件夹大小进行排序命令iam使用获取子项路径$路径目录深度0我已经试过取得孩子的指挥权了。
polhcujo1#
您可以使用ForEach-Object循环,迭代共享中的顶层文件夹,如下所示:
Get-ChildItem -Path $path -Directory | ForEach-Object { $size = 0 + (Get-ChildItem -Path $_.FullName -File | Measure-Object -Property Length -Sum).Sum [PsCustomObject]@{ Directory = $_.Name Size = $size } } | Sort-Object Size -Descending
或者将计算属性与Select-Object cmdlet一起使用,如下所示:
Get-ChildItem -Path $path -Directory | Select-Object @{ Name = 'Directory'; Expression = {$_.Name}}, @{ Name = 'Size'; Expression = { 0 + (Get-ChildItem -Path $_.FullName -File | Measure-Object -Property Length -Sum).Sum} } | Sort-Object Size -Descending
P.S.如果您希望为没有文件的文件夹使用空白而不是0,只需删除0 +
0
0 +
1条答案
按热度按时间polhcujo1#
您可以使用ForEach-Object循环,迭代共享中的顶层文件夹,如下所示:
或者将计算属性与Select-Object cmdlet一起使用,如下所示:
P.S.如果您希望为没有文件的文件夹使用空白而不是
0
,只需删除0 +