前言
3个星期的周末了解LINUX下、WINDOWS下的ANSI颜色转义控制,LINUX下根据网上的搜索结果一下就成功了,但WINDOWS的CMD(dos)窗口中始终都没有成功,一直不甘心,今天再来试试,终于成功。关键点在于ESC的输入问题在以前看过的文章中都没有提及。
发现根本不需要加载ANSI.SYS驱动,WINDOWS应该是默认就加载了。
先看一下最终效果:
命令
注意以下命令中^[这2个字符是表示ASCII的一个字符27(即ESC), 其输入方法要用特殊的方式(见后述),所以下面的命令复制、粘贴后执行是看不到效果的。
还要注意的是^[后面还有一个正常的[。
C:\>cmd /cecho ^[[1;31m111],^[[32m222^[[33;44m333^[[34m4444^[[35m555^[[0m
C:\>cmd /cecho ^[[1;31m dfsaafds],^[[32mNO222222222^[[33;34m55555^[[34m4444^[[0m
C:\>cmd /cecho ^[[1;35m dfsaafds],^[[33madsfsk^[[42;35m55555^[[0m
C:\>cmd /cecho ^[[1;35m dfsaafds],^[[33madsfsk^[[48;35m55555
不要前面的cmd /c也是可以的
echo ^[[31m111;^[[32m222;^[[33m333^[[41;34m444;^[[42;35m555^[[43;36m666^[[0m
ESC(^[) 0x1B, \033字符的输入方法
^[是ANSI的ESC一个字符,并不是我们看到的键盘上左上角那个'ESC'按键。其ASCII码值10进制是27, 八进制是33(一般写为\033),16进制1b(一般写为\x1b)。 ,其输入方法有以下几种:
ESC字符输入方法一:
在cmd窗口中