如何在 PowerShell 中創建表格

  1. 使用哈希表在 PowerShell 中創建表格
  2. 在 PowerShell 中使用 DataTable 物件創建表格
  3. 在 PowerShell 中使用 Format-Table 創建表格
  4. 結論
如何在 PowerShell 中創建表格

以清晰且結構化的方式整理和顯示數據是至關重要的,而表格是一種廣泛認可的格式來實現這一目標。在 PowerShell 中,與任何編程語言一樣,創建表格的能力是基本的。

在 PowerShell 中創建自定義表格是一個簡單的過程。本文探討了在 PowerShell 中創建表格的不同方法,使數據呈現更加有效。

使用哈希表在 PowerShell 中創建表格

哈希表是一種緊湊的數據結構,它使用鍵來存儲每個值。它也被稱為字典或關聯數組。

在 PowerShell 中,您可以使用 @{} 語法創建哈希表。鍵和值用大括號 {} 包圍。

代碼:

$hash = @{Name = "brian"; Age = "23"; Location = "UK" }

在上述代碼中,使用 @ 符號後跟大括號 { } 創建哈希表。在大括號內,我們有三個鍵值對,用分號分隔。

每個鍵是一個字符串(NameAgeLocation),後面跟著等號(=)和對應的值。

因此,這一行創建了一個哈希表,包含以下鍵值對:

  • 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 參數指定要包含在表格中的屬性。在這種情況下,我們希望包含 NameIdCPU 屬性。

輸出:

Name                    Id        CPU
----                    --        ---
ACCStd                4084   11.15625
ACCSvc                2620
amdfendrsr            2596
AMDRSServ            10772    47.6875

輸出顯示有關正在運行的進程的信息。每一行代表一個不同的進程。

請注意,並非所有進程在 CPU 列中都有值。某些進程可能不消耗 CPU 資源,因此它們的 CPU 列在輸出中保持空白。

結論

在 PowerShell 中創建表格是簡單且多樣的,滿足各種數據呈現需求。您可以選擇哈希表來處理基本的鍵值對,使用 DataTable 物件創建具有多列和自定義名稱的高級表格,以及使用 Format-Table 命令在控制台中整齊顯示數據。

這些方法使您能夠增強數據的可讀性和組織性,最終使您的 PowerShell 腳本更加有效且用戶友好。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website