从523066680的发现取光标位置开始才知道ansi,发现win10控制台对ansi的支持挺强大的,不知道是从什么时候起可以自定义显示真彩的。
有其它版操作系统的可尝试一下。
http://bbs.bathome.net/viewthread.php?tid=58523&highlight=- @echo off
- set '=!%让叹号的变量最后才解开%
- ::测试环境:windows 10
-
- setlocal enabledelayedexpansion
- title CMD 控制台ansi控制显示,实现字符模式真彩显示
-
- ::文本只能保存为ansi编码,其它编码可能出错。
-
- rem 取控制符到变量。(1BH=27=033)
- for /F "tokens=1 delims=#" %%a in ('"prompt #$E# & echo on & for %%b in (1) do rem"') do set "ESC=%%a"
-
- set "BC=!esc![38;2;!'!nn!'!;112;123m!'!say!'!!esc![0m"
- rem 做一个属性在!nn!,要显示的字符在!say!的模块。
-
- for /l %%a in (0,1,255) do (set nn=%%a&set "say= %%a"&set "say=!say:~-4!"&set "ecbu=!ecbu!%bc%")
-
- rem 把要显示的所有字符串放到临时变量(缓存)
- set /p "in=%ecbu%"<nul
- set/p =回车退出
复制代码
|