PSCustomObject
是 PowerShell 中用于创建自定义对象的命令。它允许你将多个属性(键值对)组合成一个对象,非常适合用于数据结构的创建和处理。
PSCustomObject
本质上是一个哈希表(Hashtable),但提供了更多的功能和便利性。
当你尝试使用 PSCustomObject
创建多个对象并将它们输出为表格时,默认情况下,它们可能会显示在同一行,而不是分别显示在不同的行。
PowerShell 默认的表格输出格式可能会将多个对象合并到一行显示,这通常是因为输出对象的属性数量不一致或者表格宽度限制。
为了确保每个 PSCustomObject
都显示在新的一行,你可以使用以下方法:
Format-Table
和 -Property
参数# 创建多个 PSCustomObject
$objects = @(
[PSCustomObject]@{Name="Alice"; Age=30},
[PSCustomObject]@{Name="Bob"; Age=25}
)
# 使用 Format-Table 确保每个对象显示在新的一行
$objects | Format-Table -Property Name, Age
ConvertTo-Csv
和 Import-Csv
# 创建多个 PSCustomObject
$objects = @(
[PSCustomObject]@{Name="Alice"; Age=30},
[PSCustomObject]@{Name="Bob"; Age=25}
)
# 转换为 CSV 格式并重新导入为对象
$csv = $objects | ConvertTo-Csv -NoTypeInformation
$csvObjects = $csv | Select-Object -Skip 1 | ConvertFrom-Csv
# 输出表格
$csvObjects | Format-Table -Property Name, Age
通过上述方法,你可以确保每个 PSCustomObject
在输出时都显示在新的一行,从而提高数据的可读性和清晰度。
领取专属 10元无门槛券
手把手带您无忧上云