在 PowerShell 中计算对象
出于多种原因,我们可能希望在 PowerShell 中对对象进行计数。无论我们需要在 PowerShell 中计算什么,你都可以使用 Count
运算符或 Measure-Object
cmdlet。
本文将讨论如何使用这两种方法进行计数的不同示例。
使用 PowerShell 中的 Count
方法对对象进行计数
语法:
(PSObject).Count
我们可以通过将对象括在括号 (()
) 中来访问 PowerShell Count
运算符。然后,添加句点 (.
),然后是计数。
例如,我们想知道一个文件夹中有多少个文件。对文件夹中的文件进行计数的第一步是使用 Get-ChildItem
cmdlet 来返回文件。
示例命令:
$filelist = Get-ChildItem -Path "C:\Temp\Scripts" | Where-Object { !($_.PSIsContainer) }
在上面的命令中,我们将把 Get-ChildItem
cmdlet 保存在一个名为 $filelists
的变量中。在命令的第二部分,我们可以通过管道将 Get-ChildItem
cmdlet 的最终输出传递给 Where-Object
命令。
Where-Object
cmdlet 具有 !
在 $_.PSIsContainer
前面 - 这告诉 Where-Object
返回除文件夹之外的所有对象。最后,运行下面的命令来计算文件夹中的文件数。
示例命令:
$filelist.Count
输出:
37
请记住,Count
运算符将始终是任何 PowerShell 对象的子属性。
在 PowerShell 中使用 Measure-Object
命令计数
运行以下命令以查看 Measure-Object
命令的完整语法。
命令:
Get-Help Measure-Object
我们应该将结果通过管道传送到 Measure-Object
cmdlet 并指定 -Character
参数以在 Windows PowerShell 中计数。
示例命令:
"654321" | Measure-Object -Character
输出:
Lines Words Characters Property
----- ----- ---------- --------
6
运行命令的另一种方法是使用 InputObject
变量指定字符串 654321
,而不是通过管道传输它。
示例命令:
Measure-Object -InputObject "654321" -Character
这两个字符都将产生 6 的输出。
输出:
Lines Words Characters Property
----- ----- ---------- --------
6
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn