管线对象到测量对象并保留对象

时间:2019-04-29 13:46:26

标签: powershell

如何显示带有sum的目录, 代码仅显示sum属性,而不显示目录[object]

代码:

dir -Directory | foreach {dir $PSItem | Measure-Object -Sum Length }  | Sort-Object -Property Sum -Descending

输出:

Count    : 35
Average  : 
Sum      : 90665167100
Maximum  : 
Minimum  : 
Property : Length

Count    : 330
Average  : 
Sum      : 562853107
Maximum  : 
Minimum  : 
Property : Length

...

2 个答案:

答案 0 :(得分:1)

选择对象完成任务。必须将$ _或$ PSItem保存到$ dir变量,因为它会更改。

Get-Childitem -Directory | 
Foreach-Object { 
  $dir = $_
  Get-Childitem $_ | 
  Measure-Object -Sum Length |
  Select-Object @{Name='dir';Expression={$dir}}, Sum 
} | 
Sort-Object -Property Sum -Descending

dir  Sum
---  ---
foo1  10

答案 1 :(得分:0)

如果我很理解您的问题,您只想显示SUM的值?

dir -Directory | foreach { (dir $PSItem | Measure-Object -Sum Length).Sum  } 

这只会输出每个目录的um值。