コンソール文字に色をつけて出力する

色をつけて表示するには 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"