如何在 PowerShell 中檢查 PSCustomObject 是否為空?
要檢查 PowerShell 中的 PSCustomObject 是否為空,我們需要檢查 PSCustomObject 的欄位。請考慮以下示例:
示例
$output = [PSCustomObject]@{ Name = 'John' City = 'New York' Country = 'US' Company = 'Alpha' } $output1 = [PSCustomObject]@{ Name = '' City = '' Country = '' Company = '' }
輸出
PS C:\WINDOWS\system32> $output Name City Country Company ---- ---- ------- ------- John New York US Alpha PS C:\WINDOWS\system32> $output1 Name City Country Company ---- ---- ------- -------
在這個例子中,我們有 Output 和 Output1 兩個 PSCustomObjects,其中 output1 是空的。首先,我們不能透過 Count 屬性來判斷,因為自定義物件沒有這種直接的方法。例如:
示例
PS C:\WINDOWS\system32> $output.count PS C:\WINDOWS\system32> $output1.count
不會有任何輸出,因為 PSCustomObject 不支援 Count 屬性,但是如果我們使用 ToString() 方法將其轉換為字串,那麼就可以使用 count 方法。例如:
示例
PS C:\WINDOWS\system32> $output.ToString().Count 1 PS C:\WINDOWS\system32> $output1.ToString().Count 1
但是它完全將 PSCustomObject 視為一個整體,因此始終返回計數 1。但是我們可以透過檢查其欄位來確定 PSCustoObject 是否為空。因此,我們將在這裡檢查物件的任何屬性,如果它為空,則 PSCustomObject 為空。
PS C:\WINDOWS\system32> $output.Country -eq "" False PS C:\WINDOWS\system32> $output1.Country -eq "" True
因此,Output1 物件為空。在某些情況下,您可以檢查多個屬性以確認 PSCustomObject 是否為空。
廣告