除了 HKEY_CURRENT_USER\Console 之外,cmd.exe 存储颜色的地方还在哪里?

除了 HKEY_CURRENT_USER\Console 之外,cmd.exe 存储颜色的地方还在哪里?

我已经将配色方案导入到我的注册表中HKEY_CURRENT_USER\Console

现在,当我点击Windows Key+X并转到时,Command Prompt (Admin)我会看到漂亮的配色方案。

如果我导航到它cmd.exe并手动打开它,我会看到漂亮的配色方案。

但是,如果我打开Windows Key+ X,然后转到Command Prompt(非管理员),我会看到蹩脚的旧黑白色...没有好的方案。

我尝试删除链接文件C:\Users\...\AppData\Local\Microsoft\Windows\WinX\Group3并通过复制和修改 Admin lnk 来重新创建它,但仍然没有漂亮的配色方案。

我也尝试过将颜色导入HKEY_CURRENT_USER/Software/Microsoft/Command Processor,但是没有成功。

我也尝试打开提示并输入color(和COLOR)...没有骰子。

令人恼火的是,如果我单击左上角的徽标,然后单击“默认” - 然后我会看到配色方案在设置中......但它不是终端中呈现的内容。

我也尝试过重新启动......但没有成功。

是否有人知道这些颜色可能来自哪里——以及为什么只来自那个链接?

答案1

与@JosefZ 描述的 Windows 8.x 行为相比,这似乎是 Windows 10 中的变化。

WinKey为+执行的 2 个快捷方式X Command Prompt位于同一位置,具有相同的名称(01是管理员的快捷方式):

C:\>dir /b %LOCALAPPDATA%\Microsoft\Windows\WinX\Group3\*command*.*
01 - Command Prompt.lnk
02 - Command Prompt.lnk

但是,运行/自定义WinKey+X Command Prompt不再将控制台选项保存到HKCU\Console注册表,而是将它们(仅)保存到.lnk快捷方式本身。

在这种情况下,解决方案是在 Windows 资源管理器中导航到,然后右键单击C:\Users\<user>\AppData\Local\Microsoft\Windows\WinX\Group3两个快捷方式中的每一个,选择,单击选项卡并修复颜色。或者,只需将默认快捷方式替换为您已设置为正确配色方案的快捷方式。.lnkPropertiesColors.lnkcmd

答案2

HKEY_CURRENT_USER\Console商店价值默认命令提示符设置。但是,任何人都可以自定义从不同快捷方式启动的不同命令提示符窗口的外观;设置存储在子密钥注册表项HKCU\Console:请参阅完整描述控制台窗口名称Technet 文章。当您更改相应的快捷方式属性(选项卡、和)时,
特定子项会更新。当前打开的命令提示符窗口也是如此OptionsFontLayoutColours特性(不是默认值) 位于窗口顶部边框right click

WinKey通过+启动的命令提示符的快捷方式x可以在这里找到:%LOCALAPPDATA%\Microsoft\Windows\WinX\Group3

例如,我的Windows 8.1:

==> dir /B "%LOCALAPPDATA%\Microsoft\Windows\WinX\Group3"|find /i "Command"
01 - Command Prompt.lnk
02 - Command Prompt.lnk

==> reg query HKCU\Console |find /I "\Console" |find /V /I "PowerShell"
HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe
HKEY_CURRENT_USER\Console\01 - Command Prompt
HKEY_CURRENT_USER\Console\02 - Command Prompt
HKEY_CURRENT_USER\Console\Command Prompt
HKEY_CURRENT_USER\Console\Command Prompt X

==>

这里的各个HKCU\Console子键对应于下一个命令提示符快捷方式:

  • %SystemRoot%_System32_cmd.exe: WinKey+rcmd /D或(不确定)WinKeycmd
  • 01 - Command PromptWinKey+x命令提示符(管理员)
  • 02 - Command PromptWinKey+x命令提示符
  • Command Prompt:从“开始”菜单搜索快捷方式 ( WinKeyCommand Prompt) 固定到任务栏
  • Command Prompt X: 特殊快捷键我的桌面。

编辑关于tmsimont 的评论:也许我的原始描述有误,当您运行特定的快捷方式时,相应的子项是未创建默认值用于启动命令窗口……

然而,HKCU\Console注册表项的特定子项Options在您保存对相应快捷方式属性(选项卡、Font和)的更改时创建/更新。当前打开的命令提示符窗口Layout也是Colours如此特性(不是默认值) 位于窗口顶部边框right click

相关内容