Windows 的 BAT CMD 窗口设置全局背景和文字色很容易,但输出单行带颜色的文字很少见,研究了几天分享如下
参考资料
http://bbs.bathome.net/thread-60616-1-1.htmlhttps://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences?redirectedfrom=MSDN#extended-colors下面是 demo,保存成 UTF-8 编码
@
echo off
@
chcp 65001>nul
title Windows BAT CMD 单行文字颜色
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"
rem 256 颜色表
https://www.ditig.com/256-colors-cheat-sheetrem 背景色
set colorb=28
rem 文字色
set colorf=196
rem set 中文变量的行上下都要加换行,不然会解释成都在一行从而出错
set say1=只有背景色
set say2=只有文字色
set say3=带背景和前景色的文字
echo 普通文字
echo %esc%[48;5;%colorb%m%say1%%esc%[0m
echo %esc%[38;5;%colorf%m%say2%%esc%[0m
echo %esc%[48;5;%colorb%;38;5;%colorf%m%say3%%esc%[0m
pause
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/921160
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.