win10 命令行 对于 ANSI Escape Code 支持问题

weixin_38058520 2016-09-22 02:55:35
之前看到 win10 命令行已经支持 ANSI Escape Code,在系统上进行了测试,成功显示了 有颜色的文本
前几天进行了 win10 周年更新,更新完成后 再用相关程序测试,发现无法显示 ANSI Escape Code 的颜色文本
代码是 js 通过 cscript 运行
function ansi_test($esc, $text) { WScript.Echo($esc+'[31m'+$text); } ansi_test(String.fromCharCode(27), 'String.fromCharCode(27)'); ansi_test('\x1B', '\\x1B'); ansi_test('\u001B', '\\u001B');
执行结果如下所示,未显示为颜色文本
D:\>c:\Windows\SysWOW64\cscript.exe test.js

Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

[31;1mString.fromCharCode(27)[0m
[31;1m\x1B[0m
[31;1m\u001B[0m

将输出的文本复制并保存到文本,通过命令行 type <file> 进行输出可以显示颜色文本,如下所示:
D:\>c:\Windows\SysWOW64\cscript.exe test.js > test.txt

D:\>type test.txt

Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

String.fromCharCode(27)
\x1B
\u001B

为什么脚本输出不行呢?周年更新前我记得还是能通过脚本代码输出颜色文本的!


...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧