질문과 답변
윈 도 우 cmd배치파일에서 부분적인 글자색 바꾸는 방법 문의
2019.05.19 00:35
cmd 배치파일에서 echo 명령으로 문자열 출력시 부분 글자색을 변경하려 합니다.
예를 들면 "문자열 글자색 변경을 연습하고 있습니다." 라고 출력할 때
"글자색" 단어만 노란색으로 보이게 하려는데
어떻게 해야 하나요?
아울러 욕심을 더 부린다면
"글자색" 단어를 반짝이는(twinkle) 효과와 굵은 글씨체로 표현되면 더욱 좋겠습니다.
* color 명령어로 하니 그 이하는 다 바꿔지는데 다시 기본색으로 돌아오는 명령어를 모르겠습니다.
https://stackoverflow.com/questions/2048509/how-to-echo-with-different-colors-in-the-windows-command-line
@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"
)
call :ColorText 0a "green"
call :ColorText 0C "red"
call :ColorText 0b "cyan"
echo(
call :ColorText 19 "blue"
call :ColorText 2F "white"
call :ColorText 4e "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