如何在PowerShell中正确打印包含字符串和多个数组的对象?

时间:2017-01-15 19:09:56

标签: arrays powershell oop printing format

我有一个名为Write-Output $PersonObject.Name Write-Output $PersonObject.FirstArray | Format-Table -AutoSize -Wrap Write-Output $PersonObject.SecondArray | Format-Table -AutoSize -Wrap 的对象,其中包含一个名称和两个较小对象数组作为memebrs。

我可以单独打印所有内容,例如:

$PersonObject

但我希望能够通过访问Write-Output在一个命令中打印所有这些信息。我希望这个名字和我的两个阵列干净利落地存在,所以我可以向用户传达它是他们所看到的一个对象。我希望这些数组能够以列表或表格形式呈现,而不会截断。我希望这可以与PowerShell v2一起向后兼容。

这可能,或者我将不得不使用三个单独的UPDATE命令?

1 个答案:

答案 0 :(得分:0)

PowerShell格式化cmdlet允许您混合"真实"具有您计算的属性"在现场"。在这种情况下,也许会给你一些想法/方向:

 $personObject | Format-List Name, @{
     Name = 'FirstArray'
     Expression = { $_.FirstArray | Format-Table | Out-String }
 }, @{
     Name = 'SecondArray'
     Expression = { $_.SecondArray | Format-Table | Out-String }
 }

或者,您可能希望查看Format-Custom - 可以将更复杂的对象显示为类似JSON的结构。不完美,但有助于理解深层嵌套的对象。