Leo*_*tis 4 powershell customization colors
PowerShell通过为其16种控制台颜色之一( - 出于某种原因称为DarkMagenta的颜色)分配蓝色值,改进了(坦率地)非常丑陋的Windows控制台配色方案,并将其用作默认屏幕背景.
我想以编程方式将16种颜色中的每种颜色更改为自定义颜色方案.例如,在我的PowerShell配置文件中.
我已经找到了关于如何改变ConsoleHost的16种颜色中的哪一种被分配给不同种类的文本的解释,但我想要的是实际上将ConsoleHost的16种颜色中的每一种颜色改为不同的十六进制值.(仅限我自己,不适用于其他用户或其他控制台,例如cmd.exe.)
当然,这可以通过右键单击菜单栏并手动调整"属性"或"默认"设置来完成,但这会很快累.我找不到这些设置持久化的位置.
(我已经搜索了注册表C:\Users\<current_user>\AppData,并且没有找到任何内容,除了下面的ColorTable##属性HKCU:\Console,其范围明显比PowerShell控制台设置更广泛.)
如果有人可以提供帮助,我们将不胜感激.
控制台颜色在多个位置定义:
HKCU:\Console.这适用于所有应用程序,conhost.exe包括cmd.exe和powershell.exe.HKCU:\Console\<PROCESS_PATH_WITH_UNDESCORE>针对特定流程的更改.防爆.HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe已定义并已修改ColorTable05和ColorTable06.您可以使用以下方法修改过程级值:
Set-ItemProperty -Path "HKCU:\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe" -Name ColorTable04 -Value 5645313
Run Code Online (Sandbox Code Playgroud)
请注意,要查看进程级别的值,您需要使用run,windows explorer等启动PS.如果使用其中一个快捷方式,则将使用快捷方式的值.因此,修改快捷方式并保留其副本以进行新设置可能更容易.
每个"ColorTable"在System.ConsoleColor-enum中都有一个硬编码的名称,因此他们使用名为DarkMagneta的名称只是"随机".可能是因为它是一种不常用的独特颜色.
我搜索了"更改powershell控制台颜色"并找到了大量的例子.
也许这就是你要找的东西:
$Host.UI.RawUI.BackgroundColor = ($bckgrnd = 'DarkBlue')
$Host.UI.RawUI.ForegroundColor = 'White'
$Host.PrivateData.ErrorForegroundColor = 'Red'
$Host.PrivateData.ErrorBackgroundColor = $bckgrnd
$Host.PrivateData.WarningForegroundColor = 'Magenta'
$Host.PrivateData.WarningBackgroundColor = $bckgrnd
$Host.PrivateData.DebugForegroundColor = 'Yellow'
$Host.PrivateData.DebugBackgroundColor = $bckgrnd
$Host.PrivateData.VerboseForegroundColor = 'Green'
$Host.PrivateData.VerboseBackgroundColor = $bckgrnd
$Host.PrivateData.ProgressForegroundColor = 'Cyan'
$Host.PrivateData.ProgressBackgroundColor = $bckgrnd
Clear-Host
Run Code Online (Sandbox Code Playgroud)
关于这个主题还有另一个讨论:
| 归档时间: |
|
| 查看次数: |
5219 次 |
| 最近记录: |