如何在 PowerShell 中更改顏色

這篇文章將討論如何使用 PowerShell 變更字型顏色、腳本的背景顏色,以及控制台窗口顏色。
在 PowerShell 中更改顏色的介紹
這些命令檢索帶有有關 PowerShell 控制台(控制台主機)資訊的物件。
命令:
$host
輸出:
Name : Windows PowerShell ISE Host
Version : 5.1.22000.282
InstanceId : 8cff2bea-868b-4d9e-b55a-06a3f4b8c20c
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-PH
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.Host.ISE.ISEOptions
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PrivateData
屬性擁有我們正在尋找的所有顏色屬性。
命令:
$host.PrivateData
輸出:
ErrorForegroundColor : #FFFF9494
ErrorBackgroundColor : #00FFFFFF
WarningForegroundColor : #FFFF8C00
WarningBackgroundColor : #00FFFFFF
VerboseForegroundColor : #FF00FFFF
VerboseBackgroundColor : #00FFFFFF
DebugForegroundColor : #FF00FFFF
DebugBackgroundColor : #00FFFFFF
ConsolePaneBackgroundColor : #FF012456
ConsolePaneTextBackgroundColor : #FF012456
ConsolePaneForegroundColor : #FFF5F5F5
ScriptPaneBackgroundColor : #FFFFFFFF
ScriptPaneForegroundColor : #FF000000
這些顏色是為 $host.PrivateData
物件內的警告、錯誤、除錯、詳細及進度流設置的。嘗試更改這些值中的一個,看看你的控制台顏色是否也隨之變更。
命令:
$host.PrivateData.ErrorBackgroundColor = "White"
輸出:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
在控制台上顯示的輸出是普通白色文字(如果默認顏色未被更改)。執行以下命令以顯示控制台顏色以其各自顏色的形式。
命令:
[System.Enum]::GetValues('ConsoleColor') |
ForEach-Object { Write-Host $_ -ForegroundColor $_ }
輸出:
假設我們想看看哪些顏色組合會有效且符合我們的喜好。在這種情況下,我們可以使用下面的命令,該命令將輸出所有可能的前景顏色和所有可能的背景顏色的組合。
命令:
$colors = [enum]::GetValues([System.ConsoleColor])
Foreach ($bgcolor in $colors) {
Foreach ($fgcolor in $colors) {
Write-Host "$fgcolor|" -ForegroundColor $fgcolor -BackgroundColor $bgcolor -NoNewline
}
Write-Host " on $bgcolor"
}
輸出:
在 PowerShell 中更改控制台顏色
更改主要控制台前景和背景顏色與我們之前的物件略有不同。我們可以嘗試下面的代碼片段來更改 PowerShell 的文字顏色和控制台窗口顏色。
命令:
$host.UI.RawUI.ForegroundColor = "DarkGreen"
$host.UI.RawUI.BackgroundColor = "Black"
cls
輸出:
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn