如何在 PowerShell 中創建表格
以清晰且結構化的方式整理和顯示數據是至關重要的,而表格是一種廣泛認可的格式來實現這一目標。在 PowerShell 中,與任何編程語言一樣,創建表格的能力是基本的。
在 PowerShell 中創建自定義表格是一個簡單的過程。本文探討了在 PowerShell 中創建表格的不同方法,使數據呈現更加有效。
使用哈希表在 PowerShell 中創建表格
哈希表是一種緊湊的數據結構,它使用鍵來存儲每個值。它也被稱為字典或關聯數組。
在 PowerShell 中,您可以使用 @{} 語法創建哈希表。鍵和值用大括號 {} 包圍。
代碼:
$hash = @{Name = "brian"; Age = "23"; Location = "UK" }
在上述代碼中,使用 @ 符號後跟大括號 { } 創建哈希表。在大括號內,我們有三個鍵值對,用分號分隔。
每個鍵是一個字符串(Name、Age、Location),後面跟著等號(=)和對應的值。
因此,這一行創建了一個哈希表,包含以下鍵值對:
- 鍵
Name的值為"brian"。 - 鍵
Age的值為"23"。 - 鍵
Location的值為"UK"。
使用變量 $hash 顯示哈希表的內容。
$hash
輸出:
Name Value
---- -----
Name brian
Age 23
Location UK
哈希表以表格格式顯示,具有一列用於鍵,另一列用於值。
不過,值得注意的是,哈希表僅限於顯示兩列:一列用於鍵,一列用於值。如果您的需求涉及更多列或不同名稱的列,哈希表可能不是最有效的選擇。
在 PowerShell 中使用 DataTable 物件創建表格
DataTable 物件在 PowerShell 中處理表格時非常有用。您可以使用命令 New-Object System.Data.Datatable 創建一個 DataTable。
您可以使用 $TableName.Columns.Add("ColumnNames") 添加列,使用 $TableName.Rows.Add("ValueToColumns") 在表中添加行。
在以下示例中,我們從 System.Data.DataTable 類創建了一個新的 DataTable($table)物件。
然後,我們向 DataTable($table)物件添加三列和三行。[void] 用於抑制這些命令的輸出。
最後,我們使用變量 $table 顯示 DataTable 物件的內容。
代碼:
$table = New-Object System.Data.DataTable
[void]$table.Columns.Add("Name")
[void]$table.Columns.Add("Age")
[void]$table.Columns.Add("Location")
[void]$table.Rows.Add("brian", "23", "UK")
[void]$table.Rows.Add("sam", "32", "Canada")
[void]$table.Rows.Add("eric", "25", "USA")
$table
輸出:
Name Age Location
---- --- --------
brian 23 UK
sam 32 Canada
eric 25 USA
在輸出中,您將看到使用 DataTable 物件生成的表格。雖然這種方法允許您創建具有多列和自定義列名稱的表格,但您必須手動添加列及其對應的值。
在 PowerShell 中使用 Format-Table 創建表格
您可以使用 Format-Table 命令來格式化並在控制台中以表格形式顯示數據。雖然它不創建表格物件,但在控制台中以表格格式呈現數據是很有用的。
代碼:
Get-Process | Format-Table -Property Name, Id, CPU
在上述示例中,我們使用 Get-Process 獲取有關正在運行的進程的信息。Get-Process 的輸出是一個正在運行的進程列表。
然後,我們將 Get-Process 的輸出通過管道傳遞到 Format-Table 命令以進行格式化。我們希望以表格格式顯示每個進程的特定屬性。
接下來,我們使用 -Property 參數指定要包含在表格中的屬性。在這種情況下,我們希望包含 Name、Id 和 CPU 屬性。
輸出:
Name Id CPU
---- -- ---
ACCStd 4084 11.15625
ACCSvc 2620
amdfendrsr 2596
AMDRSServ 10772 47.6875
輸出顯示有關正在運行的進程的信息。每一行代表一個不同的進程。
請注意,並非所有進程在 CPU 列中都有值。某些進程可能不消耗 CPU 資源,因此它們的 CPU 列在輸出中保持空白。
結論
在 PowerShell 中創建表格是簡單且多樣的,滿足各種數據呈現需求。您可以選擇哈希表來處理基本的鍵值對,使用 DataTable 物件創建具有多列和自定義名稱的高級表格,以及使用 Format-Table 命令在控制台中整齊顯示數據。
這些方法使您能夠增強數據的可讀性和組織性,最終使您的 PowerShell 腳本更加有效且用戶友好。
