如何在PowerShell中使用Measure-Object?

PowerShell中的Measure-Object用于测量命令的属性。有多种测量参数可用。例如,平均值,计数,总和,最大值,最小值和更多。

示例

Get-Process | Measure-Object

输出结果

PS C:\WINDOWS\system32> Get-Process | Measure-Object
Count       : 278
Average     :
Sum         :
Maximum     :
Minimum     :
Property    :

此处,在上面的输出中,总共有278个进程正在运行。如果要检查最大内存使用量,则可以将WorkingSet属性与− Maximum Parameter一起使用。

Get-Process | Measure-Object -Property WorkingSet -Maximum

输出结果

PS C:\WINDOWS\system32> Get-Process | Measure-Object -Property WorkingSet –
Maximum
Count       : 277
Average     :
Sum         :
Maximum     : 353447936
Minimum     :
Property    : WorkingSet

您还可以将多个参数一起使用,例如“最大值”,“最小值”,“总和”(在此示例中为获得消耗的总内存)和“平均值”(在此示例中为获得平均内存使用率)。

Get-Process | Measure-Object -Property WorkingSet -Maximum -Minimum -Sum -
Average

输出

Count       : 275
Average     : 37769618.1527273
Sum         : 10386644992
Maximum     : 347447296
Minimum     : 8192
Property    : WorkingSet

对于文本文件或字符串,可以使用线,字,字符等测量属性。

示例

Get-Content D:\Temp\testreadC.txt | Measure-Object

输出结果

Count          : 232
Average        :
Sum            :
Maximum        :
Minimum        :
Property       :

要获取行数,字数和字符数,

Get-Content D:\Temp\testreadC.txt | Measure-Object -Line -Word -Character

输出结果

Lines       Words       Characters    Property
-----       -----       ----------     --------
  229        1829            27156

您也可以忽略空格并计算字符数。

Get-Content D:\Temp\testreadC.txt | Measure-Object -Line -Word -Character -IgnoreWhiteSpace

输出结果

Lines       Words       Characters       Property
-----       -----       ----------       --------
  229        1829             7424