如何在 PowerShell 中创建表格

  1. 使用哈希表在 PowerShell 中创建表格
  2. 使用 DataTable 对象在 PowerShell 中创建表格
  3. 使用 Format-Table 在 PowerShell 中创建表格
  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

哈希表以表格格式显示,具有一列用于键,另一列用于值。

然而,值得注意的是,哈希表仅限于显示两列:一列用于键,一列用于值。如果您的需求涉及更多列或具有不同名称的列,则哈希表可能不是最有效的选择。

使用 DataTable 对象在 PowerShell 中创建表格

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 对象生成的表格。虽然这种方法允许您创建具有多个列和自定义列名的表格,但您必须手动添加列和相应的值。

使用 Format-Table 在 PowerShell 中创建表格

您可以使用 Format-Table cmdlet 将数据格式化并显示为控制台中的表格。虽然它不会创建表格对象,但对于以表格格式在控制台中呈现数据很有用。

代码:

Get-Process | Format-Table -Property Name, Id, CPU

在上面的示例中,我们使用 Get-Process 检索有关正在运行的进程的信息。Get-Process 的输出是正在运行的进程列表。

然后,我们将 Get-Process 的输出传递给 Format-Table cmdlet 进行格式化。我们想以表格格式显示每个进程的特定属性。

接下来,我们使用 -Property 参数指定要包含在表格中的属性。在这种情况下,我们想包括 NameIdCPU 属性。

输出:

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

输出显示有关正在运行的进程的信息。每一行代表一个不同的进程。

请注意,并非所有进程在 CPU 列中都有值。一些进程可能没有占用 CPU 资源,因此它们的 CPU 列在输出中保持为空。

结论

在 PowerShell 中创建表格既简单又多功能,满足各种数据展示需求。您可以选择哈希表用于基本的键值对,使用 DataTable 对象用于具有多个列和自定义名称的高级表格,使用 Format-Table cmdlet 在控制台中整齐地显示数据。

这些方法使您能够增强数据的可读性和组织性,从而使您的 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