3

タイトルが示すように、PowerShell スクリプトからのコンソール出力をカラーで表示するにはどうすればよいでしょうか? GoCD の v16.12 を使用しています。

編集: 会社のポリシーにより、書き込みホストの使用は許可されていません。理由は聞かないでください:)

4

3 に答える 3

0

これらの色をより簡単に処理する方法が必要な場合は、私が作成したモジュールである TMOutput モジュールをインストールして使用できます。System.Console を使用します。ただし、それはあなたの側のコーディングが少なくて済みます。

これに関する投稿へのリンクは次のとおりです: http://tommymaynard.com/script-sharing-write-output-gets-foreground-and-background-colors-and-more-2016/。そのページには、Microsoft の PowerShell ギャラリーのモジュールへのリンクがあります。PowerShellGet を使用している場合は、次のコマンドを使用してダウンロードしてインストールできます。

Install-Module -Name TMOutput

編集: モジュールが行うもう 1 つのことは、必要な色を配置する前の状態に色をリセットすることです。[System.Console] を自分で使用するだけの場合は、自分で行う必要があります。

于 2017-03-07T17:19:15.323 に答える
0

これは任意Write-Hostではありませんが、要件を満たす可能性のある別のオプションです。

$Host.UI.Write('Cyan','DarkMagenta','Text to display')

オーバーロード:

void Write(string value)
void Write(System.ConsoleColor foregroundColor, System.ConsoleColor backgroundColor, string value)

また、直接関係はありませんが、要件が実際に PSScriptAnalyzer の規則を満たす必要がある場合Write-Hostは、動詞Show(例: Show-GoCDOutput) を使用する関数で任意のコマンドをラップでき、PSScriptAnalyzer はそれをスキップすることに注意してください。

于 2017-03-07T23:00:13.627 に答える