Niedawno znalazłem na StackOverflow taki kod w Batchu, służący do wyświetlania kolorowego tekstu bez globalnej zmiany koloru całej konsoli:
@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 :colorEcho 0B "Hello!"
Echo.
Exit /B
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
Problemem nie jest jednak to, że kod nie działa, bo działa, ale nie rozumiem co tu się dokładnie dzieje, a nie lubię dołączać do swoich programów kodu, którego nie rozumiem. Czy ktoś mógłby mi to wyjaśnić?