如何在批处理中添加颜色到echo?
我想让echo输出类似于:
我想让echo输出类似于:
echo <Colorful text here>
如果要做这样的事情,调用自定义C++程序可能会更容易一些。
虽然没有必要这样做,但是确实是可行的。
有一个预先制作好的C++脚本编译成了Windows可以运行的东西,位于http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files。
该网站解释了你需要知道的大部分内容,但我在这里提供一些帮助和示例。
你可以使用的颜色代码如下:
我猜你想做的是给文本上色,将颜色恢复为正常并换行。要做到这一点,你需要使用以下代码...
cecho {0C}Hello world!{#}{\n}
cecho {0E}Yellow is a nice color.{#}{\n}
编辑:
如果您想要给所有内容上色,请使用Windows自带的color命令。
color 0c
(黑底绿字)
编辑:
如果你想要使用批处理(不使用其他资源)来给单行文字上色,可以尝试以下示例:
echo off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
echo say the name of the colors, don't read
call :ColorText 0a "blue"
call :ColorText 0C "green"
call :ColorText 0b "red"
echo(
call :ColorText 19 "yellow"
call :ColorText 2F "black"
call :ColorText 4e "white"
goto :eof
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof