コンソール文字に色をつけて出力する
色をつけて表示するには Write-Host コマンドにおいて文字色を指定するには -ForegroundColor オプションを用います。背景色を指定するには -BackgroundColor オプションを用います。
基本設定色は MSDN で調べると下記スクリプトに明記している16色です。
このスクリプトは、16色の文字色と、16色の背景色を、その表示色を示す文字列で出力するものです。
$arr = @()
$arr += "Black" # 00.
$arr += "DarkBlue" # 01.
$arr += "DarkGreen" # 02.
$arr += "DarkCyan" # 03.
$arr += "DarkRed" # 04.
$arr += "DarkMagenta" # 05.
$arr += "DarkYellow" # 06.
$arr += "Gray" # 07.
$arr += "DarkGray" # 08.
$arr += "Blue" # 09.
$arr += "Green" # 10.
$arr += "Cyan" # 11.
$arr += "Red" # 12.
$arr += "Magenta" # 13.
$arr += "Yellow" # 14.
$arr += "White" # 15.
$FMT = "{0:d2}`t{1:d2}"
# 黒文字.
for ( $n = 0; $n -lt $arr.Length; $n++ )
{
Write-Host( $FMT -f $n, $arr[$n] ) -ForegroundColor "Black" -BackgroundColor $arr[$n]
}
# 改行する.
Write-Host( "`r" )
# 白ヌキ文字.
for ( $n = 0; $n -lt $arr.Length; $n++ )
{
Write-Host( $FMT -f $n, $arr[$n] ) -ForegroundColor "White" -BackgroundColor $arr[$n]
}
# 改行する.
Write-Host( "`r" )
# 黒バックに色文字.
for ( $n = 0; $n -lt $arr.Length; $n++ )
{
Write-Host( $FMT -f $n, $arr[$n] ) -ForegroundColor $arr[$n] -BackgroundColor "Black"
}
# 改行する.
Write-Host( "`r" )
# 白バックに色文字.
for ( $n = 0; $n -lt $arr.Length; $n++ )
{
Write-Host( $FMT -f $n, $arr[$n] ) -ForegroundColor $arr[$n] -BackgroundColor "White"
}
# 改行する.
Write-Host( "`r" )
-Foreground は -F と略してもかまいません。
-Background は -B と略してもかまいません。
略した書き方を紹介します。
Write-Host( "ABCabc" ) -F "black" -B "green"
Write-Host( "DEFdef" ) -F "white" -B "red"