控制台的文本颜色在Windows 10中不起作用build 15063.296
.
我挖了一下,发现自己输了.这是我发现的一切......
从几个讨论中,似乎在最新版本的Windows 10(#1,#2)中删除了对"虚拟终端序列"或"控制字符序列"的支持.有些人还建议降级一个git版本(这对我不起作用).
我试图cmd.exe
从我的另一台机器上复制一个,版本10.0.10586.0
和着色工作,但是,在进一步阅读和试验后,我不再确定问题所在.
见的比较输出ls --color=auto
git\git-cmd.exe
,git\git-bash.exe
,Windows的原始cmd.exe
及以上cmd.exe
根据这个网站,对着色的支持不在于命令窗口,而是在a中conhost.exe
,这提出了一个问题 - 为什么它在某些控制台中有效,有些则不在?
如果从cmd.exe启动powershell.exe,它将继承conhost设置,因为它附加到以前创建的控制台,而不是分配新的控制台; 这也启用了powershell.exe中的转义序列.
鉴于这句话,我尝试了下面的内容,只会加深我的困惑.我ls --color=auto
在每个cmd版本中运行一个命令,然后尝试从较新的cmd运行较旧的cmd,反之亦然,并得到以下结果.(红色下划线是cmd v15063
,绿色下划线是cmd v10586
)
旧的,新的
新的,旧的
有趣/令人困惑的是与文件中相同内容d 的不同结果type
和cat
比较结果. ls --color=auto
type
就目前而言,我已经通过用从旧系统复制的旧系统替换新系统来“修复”它。如果您运行了 Windows 升级,您可能会在. (该文件夹已隐藏)cmd_10.0.15063.0
cmd_10.0.10586.0
C:\Windows.old\Windows\System32\cmd.exe
要替换系统,cmd.exe
您需要取得该文件的所有权Properties -> Security -> Advanced
,在顶部Owner: TrustedInstaller (Change)
设置为Administrators
,然后授予管理员完全权限Permissions -> Change permissions -> Administrators -> Edit -> Full control
。