PowerShell は常にコンソール ウィンドウで実行されるとは限らないため、優れたソリューションはありません。他のホスティング アプリケーションは、タブ文字をサポートする場合とサポートしない場合があり、Write-Host をサポートしていない場合もあります。コンソール表示を厳密にサポートすることが目標である場合は、「Format-Console」関数を作成することを検討してください。
nuget list NuGetPowerTools | Format-Console
その関数内で、パイプライン入力をキャプチャできます (これは外部コマンドであるため、文字列であると推測されます)。出力の各行は単一の String オブジェクトになるため...
Write-Host " $x"
4 つのスペースでインデントして表示します。
function Format-Console {
[CmdletBinding()]
param([Parameter(ValueFromPipeline=$True)][string[]]$inputObject)
PROCESS { Write-Host " $inputObject" }
}
これはちょっと手早くて汚いですが、文字列をパイプするだけだと仮定すると、うまくいきます。これを関数として構築すると、より再利用しやすくなります。Format-動詞を使用すると、他のユーザーは、この出力が消費可能になることを意図していないことを示します。内部フォーマット ディレクティブを出力しないため、技術的には真の「フォーマット」コマンドレットではありませんが、