我想知道是否可能在Windows批处理文件中的同一行上有不同的彩色文本,例如,如果它说
echo hi world
Run Code Online (Sandbox Code Playgroud)
我希望"hi"成为一种颜色,"世界"成为另一种颜色.也许我可以将COLOR命令设置为变量:
set color1= color 2
set color9= color A
Run Code Online (Sandbox Code Playgroud)
然后将它们一起部署在同一行上
echo hi world
Run Code Online (Sandbox Code Playgroud)
但我不知道我会怎么做.
我发现这段代码有助于改变批处理文件中文本输出的颜色.有人可以解释它是如何工作的吗?
特别是DEL变量拼图的使用是什么,没有那些第一行,着色根本不起作用,但是DEL当我回声它时变量似乎是空的.
@echo on
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"
)
call :ColorText 0b "red"
echo(
call :ColorText 19 "yellow"
goto :eof
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
Run Code Online (Sandbox Code Playgroud)
还请详细说明for循环和ColorText方法