我试图创建一个启动一些服务的登录批处理文件,但用户知道它们正在启动。所以我认为我会使用批处理脚本。
该脚本运行正常,但我想在ASCII中使用徽标并使用颜色更多地修饰它。在我的开发PC(Windows 10 64位)上一切正常,但在用户机器(Windows 7 64位)上,颜色没有显示。
我正在使用:
{
id: 'someId',
name: 'someName',
child: {
name: 'someChildName'
}
...
}
但是当我运行它时,我会显示:
←[93m登录
所以它没有正确对待ESC。 这个问题必须以个人电脑为基础,因为它在另一台机器上工作,但我不知道如何解决这个问题。
答案 0 :(得分:1)
只有Windows 10的控制台支持ESC序列,如MSDN页面Console Virtual Terminal Sequences中所述。以前Windows版本的控制台主机不支持ANSI ESC序列。
命令 COLOR 用于定义文本颜色和背景颜色。
打开命令提示符窗口并运行color /?
以获取有关此命令的帮助。
可以在Stack Overflow上找到关于如何使用 COLOR 的数百个批处理文件示例,例如搜索词[batch-file] color。
答案 1 :(得分:0)
正如我所说的那样,10之前的窗口不支持转义序列。您可以尝试ANSICON
答案 2 :(得分:0)
在引导时加载的旧ANSI.SYS将解释颜色命令 例如[esc] [1; 33; 40m(其中[esc]是一个小箭头)作为前景和 DOS提示窗口中或Windows窗口外的文本背景颜色 DOS会话。 (适用于Windows 3.1x,Win 95,Win 98 1st和2nd,Win ME和 甚至可能是32位Win XP。)
但是,在引入64位系统之后,ANSI.SYS不再像以前那样工作了。 Windows 7 cmd.exe窗口中的命令“color”为ENTIRE窗口文本着色,而不是 只是你想要着色的部分。据我所知,其中一些已经缓解了 赢取10 cmd.exe,但除此之外......
可能有一种解决方案: 被Horst Schaeffer称为“CoColor”
免费软件©Horst Schaeffer - 联系方式:horst.schaeffer@gmail.com
http://www.horstmuc.de/wcon.htm
以下是他所说的:
CoColor 2.1更改控制台输出颜色下载32位(6Kb) 下载64位(7Kb)
CoColor会更改后续控制台输出的控制台颜色,而不是整个窗口,就像内置的COLOR命令一样。 CoColor使用与COLOR相同的颜色代码。
CoColor还接受一系列颜色代码和文本字符串(每个都带有双引号),使其成为色彩丰富的ECHO替代品。非ASCII字符的处理方式与ECHO相同。
包括Demo.CMD。
(注意:运行Demo.cmd后,您需要运行命令颜色才能返回 到屏幕的默认颜色。他没有在剧本中加入。)
使用Avast Antivirus,SuperAntiSpyware和Malwarebytes扫描文件后, 我在Win 7 Pro 64位上运行了CoColor 64位版本,它似乎运行良好。
在过去,我用很多颜色的条纹写了很多批次 文本。他们没有像“颜色”一样改变整个屏幕的颜色 cmd.exe中的命令! COMMAND.COM理解加载了ANSI.SYS的颜色命令 在CONFIG.SYS启动时。这是我见过的最接近的事情 原始功能。希望这会有所帮助。