2017-01-15 8 views
0

私は、名前がmemebrで、より小さなオブジェクトの2つの配列を含む​​という名前のオブジェクトを持っています。PowerShellで文字列と複数の配列を含むオブジェクトを適切に印刷するにはどうすればよいですか?

私はのように、個別にうまくすべてを印刷することができます。

Write-Output $PersonObject.Name 
Write-Output $PersonObject.FirstArray | Format-Table -AutoSize -Wrap 
Write-Output $PersonObject.SecondArray | Format-Table -AutoSize -Wrap 

しかし、私はむしろちょうど​​にアクセスすることにより、1つのコマンドですべての情報を印刷することができるだろう。私は名前と両方の配列がきれいに一緒に存在するようにしたいので、私はそれが見ている一つのオブジェクトであることをユーザーに伝えることができます。配列を切り捨てずにリストまたはテーブル形式で表示できるようにしたいと思います。私はPowerShell v2でこれを後ろにしておきたいと思います。

これが可能ですか、または3つの別々のWrite-Outputコマンドを使用する必要がありますか?

+0

ええとこれを見たいと思う:[Custom Formatting Files](https://msdn.microsoft.com/en-us/library/dd878272(v=vs.85).aspx) – sodawillow

答えて

0

PowerShellの書式設定コマンドレットを使用すると、「現場で」計算したプロパティと「実際の」プロパティを混在させることができます。 - 1は、JSONのような構造のような、より複雑なオブジェクトを表示することが可能であることを

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

また、あなたがFormat-Customに見てみたいことがあります。この場合は、おそらくそれはあなたにいくつかのアイデア/方向性を与えるだろう。完璧ではありませんが、深くネストされたオブジェクトを理解するのに役立ちます。

+0

私は見ますこれにオブジェクト性を失うことなく、オブジェクトを返す方法があるかどうか知っていますか?私はスクリーンにすべてをうまく印刷できるようにしたいと思いますが、関数の最後に '$ PersonObject'を実行した場合とは違った動作をするオブジェクトはありません。私が理解しているところでは、テーブルとして書式を設定すると、返されたときにオブジェクトが何か他のものとして解釈されます。 – AlwaysQuestioning

+0

FormatPx(https://github.com/KirkMunro/FormatPxまたはhttps://www.powershellgallery.com/packages/FormatPx) - Kirk Munroのすばらしいモジュールをご覧ください。それはおそらくあなたに必要なものを与えるはずです。 – BartekB

関連する問題