正如我在 PowerShell 用户指南中所读到的,PowerShell 的核心概念之一是命令接受和返回 对象 而不是文本。例如,运行get- alias会返回一些System.Management.Automation.AliasInfo对象:
get- alias
System.Management.Automation.AliasInfo
PS Z:\> get-alias CommandType Name Definition ----------- ---- ---------- Alias % ForEach-Object Alias ? Where-Object Alias ac Add-Content Alias asnp Add-PSSnapIn Alias cat Get-Content Alias cd Set-Location Alias chdir Set-Location ...
现在, 我如何获得这些对象的数量?
这会让你数数:
get-alias | measure
您可以像处理对象一样处理结果:
$m = get-alias | measure $m.Count
如果你想在某个变量中也有别名,你可以使用 Tee-Object:
$m = get-alias | tee -Variable aliases | measure $m.Count $aliases
Technet上提供了有关 Measure-Object cmdlet 的更多信息。
不要将它与用于时间测量的 Measure-Command cmdlet 混淆。(再次在Technet上)