ささやかな日々記

日々過ごす中で感じたことや培ったことが誰かの役に立てられたらと思うSEの雑記

PowerShell 背景色文字色変更

PowerShellのコンソールにて文字色と背景色を変更するコマンドについて紹介したいと思います。

 

まず、文字色を変更できるコマンド

(Get-Host).UI.RawUI.ForegroundColor="色コードもしくは色ワード"

 

次に、背景色の変更コマンド

(Get-Host).UI.RawUI.BackgroundColor="色コードもしくは色ワード"

 

このようにすることで色を変更することができます。

 

◎文字色変更

(Get-Host).UI.RawUI.ForegroundColor = "0"

(Get-Host).UI.RawUI.ForegroundColor = "Black"

(Get-Host).UI.RawUI.ForegroundColor = "12"

(Get-Host).UI.RawUI.ForegroundColor = "Red"

(Get-Host).UI.RawUI.ForegroundColor = "15"

(Get-Host).UI.RawUI.ForegroundColor = "White"

 

◎背景色変更

(Get-Host).UI.RawUI.BackgroundColor = "0"

(Get-Host).UI.RawUI.BackgroundColor = "Black"

(Get-Host).UI.RawUI.BackgroundColor = "12"

(Get-Host).UI.RawUI.BackgroundColor = "Red"

(Get-Host).UI.RawUI.BackgroundColor = "15"

(Get-Host).UI.RawUI.BackgroundColor = "White"

 設定できる色のコードとワードは以下のようになっています。

0 : Black
1 : DarkBlue
2 : DarkGreen
3 : DarkCyan
4 : DarkRed
5 : DarkMagenta
6 : DarkYellow
7 : Gray
8 : DarkGray
9 : Blue
10 : Green
11 : Cyan
12 : Red
13 : Magenta
14 : Yellow
15 : White

この16色はSystem.ConsoleColor型でありPowerShellのプロパティにある「画面の色」タブに並ぶ色と同じものになります。

 

また、色の指定を間違った場合にはエラーの内容や設定すべき値などを教えてくれます。

(Get-Host).UI.RawUI.BackgroundColor = ""

"BackgroundColor" の設定中に例外が発生しました: "値 "" を型 "System.ConsoleColor" に変換できません。エラー: "次の列挙子
名と類似しているか同一であるため、識別子名 を処理できません: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagent
a, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White。より詳細な識別子名を使用してください。""
発生場所 行:1 文字:1
+ (Get-Host).UI.RawUI.BackgroundColor = ""
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], SetValueInvocationException
+ FullyQualifiedErrorId : ExceptionWhenSetting

 こんな風に。