在我的 Windows 7 上,如果我通过“Win+R”运行 powershell,“powershell”将以黑色背景上的白色文本开始,并且设置会受到影响[HKEY_CURRENT_USER\Colors]
。例如,我可以轻松地将默认的“红色”颜色更改为不太亮:
但是,如果我将此 powershell 固定到 Windows 7 超级栏并通过单击超级栏图标启动它,它将显示一些我无法更改的疯狂的蓝白色 O_O:
为什么会有这样的差异,是否有任何方法可以配置固定 powershell 的颜色,就像我可以配置通过“运行”命令启动的 powershell 一样。
答案1
总结
- 运行 powershell.exe
- ALT-- SPACE>Properties
- 根据需要更改设置。
- OK
powershell.exe 是一个控制台程序。当控制台程序运行时,Windows 会通过查找一系列位置来配置控制台。
首先它着眼于捷径(.LNK 文件)您启动的程序。这就是您通常在开始菜单、桌面和任务栏中看到的内容。如果您右键单击快捷方式并选择“属性”,您将在那里看到一堆这样的选项。
对于快捷方式中未指定的任何选项(或者如果您直接启动 .EXE,而没有使用快捷方式),Windows 将在注册表中查找。
我找不到所涉及的注册表项的完整列表,但以下是我所知道的:
HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
但等一下,还有更多!
当您在控制台窗口上打开系统菜单时,您会看到“属性”和“默认值”。
默认值修改上述注册表项之一。
这些属性适用于当前打开的控制台窗口和启动它的快捷方式。如果您没有使用快捷方式,因为您直接打开了 .EXE,它会转到一个特殊的注册表项,例如:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
但这还不是全部!
控制台程序可以修改自己的颜色。例如,在 CMD 中,您可以执行以下操作:
C:\>color f0
在 PowerShell 中:
PS> $Host.UI.RawUI.BackgroundColor = 7
这些设置不会以任何方式保留下来。