我知道我可以通过在我的个人资料中设置以下内容来更改PowerShell控制台颜色:
$Host.UI.RawUI.BackgroundColor = "White"
Clear-Host
但是在Powershell控制台中,可以转到“属性”中的“颜色”选项卡,并手动修改标准16 ANSI颜色的RGB值。是否可以从配置文件脚本中设置标准颜色的十六进制或RGB值?例如我想要的设置:
$Host.UI.RawUI.BackgroundColor = "#242424" # Gray
Clear-Host
答案 0 :(得分:5)
您可以,但不能通过$Host
对象。颜色表存储在注册表中。
您可以使用相同的名称,但颜色会有所不同。这就是默认PowerShell控制台为蓝色/灰色的原因。
答案 1 :(得分:4)
执行此操作的正确方法是使用注册表
cd hkcu:/console
$0 = '%systemroot%_system32_windowspowershell_v1.0_powershell.exe'
ni $0 -f
sp $0 ColorTable00 0x00562401
sp $0 ColorTable07 0x00f0edee
颜色为
0x00BBGGRR
答案 2 :(得分:3)
我怀疑这是可能的。 $ Host.UI.RawUI.BackgroundColour是一个System.ConsoleColor枚举器,因此只能选择一组有限的颜色。 http://msdn.microsoft.com/en-GB/library/system.consolecolor.aspx
答案 3 :(得分:1)
据我所知,你不能。控制台API不支持自定义颜色。如果你这样做:
$x = (Get-Host).UI.RawUI
$x | gm
您会看到BackgroundColor的类型为System.ConsoleColor。
答案 4 :(得分:0)
对于任何想要自定义颜色的Powershell ISE来说,这里都是格式。
#Get the list of colors and hex equivalents
[windows.media.colors] | Get-Member -Static -MemberType property |
ForEach-Object {
$psISE.Options.ConsolePaneTextBackgroundColor = `
([windows.media.colors]::$($_.name)).tostring()
“$($_.name) `t $([windows.media.colors]::$($_.name))”
}
#Example of how to change the console color in the powershell ISE
$psISE.Options.ConsolePaneBackgroundColor = '#FF4169E1' #RoyalBlue
$psISE.Options.ConsolePaneTextBackgroundColor = '#00FFFFFF' #Transparent
正确的信誉属于“脚本专家”,抱歉,我没有链接,但是代码直接来自他的网站。