在 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