有"Sum"功能吗?

vik*_*ata 3 powershell sum

我有以下代码片段:

> 1..10|%{$count=0}{$count+=$_}{$count}
55
> 1..10|Sum
Run Code Online (Sandbox Code Playgroud)

最后一行显然显示错误,因为没有"Sum"功能.有没有一种方便的方法来汇总PowerShell中的项目?

iCo*_*dez 8

您可以使用Measure-Objectcmdlet:

PS > 1..10 | Measure-Object -Sum
Count    : 10
Average  : 
Sum      : 55
Maximum  : 
Minimum  : 
Property :     
PS > (1..10 | Measure-Object -Sum).Sum
55
PS >
Run Code Online (Sandbox Code Playgroud)

请注意,它也适用于对象的属性:

PS > ('abc', 'def', 'ghi') | Measure-Object -Sum -Property Length
Count    : 3
Average  : 
Sum      : 9
Maximum  : 
Minimum  : 
Property : Length
PS > 
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我们通过将-Property参数设置为to来对数组中字符串的长度求和Length.