Kleurecho in batchbestanden

Hoe voeg ik kleur toe aan echo in Batch?

Ik zou graag willen dat echo iets zegt als

echo <Colorful text here>

Antwoord 1, autoriteit 100%

Het is waarschijnlijkmakkelijker als je een aangepast C++-programma aanroept.

Hoewel het niet echt nodig is om zoiets te doen, is het mogelijk.

Er is een vooraf gemaakt C++-script gecompileerd in iets dat Windows kan uitvoeren op http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files

De site legt meestal alles uit wat je moet weten, maar ik zal hier wat hulp en voorbeelden geven.

De kleurcodes die u kunt gebruiken zijn

  • 0 = zwart 8 = grijs
  • 1 = marine 9 = blauw
  • 2 = groen A = limoen
  • 3 = groenblauw B = aqua
  • 4 = kastanjebruin C = rood
  • 5 = paars D = fuchsia
  • 6 = olijf E = geel
  • 7 = zilver F = wit

Ik vermoed dat je tekst wilt kleuren, de kleur weer normaal wilt maken en dan een nieuwe regel wilt maken.
Om dit te doen, zou je het volgende gebruiken…

cecho {0C}Hello world!{#}{\n}

Als je het bovenstaande uitvoert, wordt ‘Hallo wereld!’ wordt in het rood weergegeven.

Het eerste cijfer is de achtergrond, het tweede is de voorgrond (echte tekstkleur).

Een ander voorbeeld is geel op zwart:

cecho {0E}Yellow is a nice color.{#}{\n}

BEWERKEN:

Als je alles probeert te kleuren, gebruik dan de kleuropdracht die bij Windows wordt geleverd.

color 0c

(Groen op zwart)

BEWERKEN:

Als u een enkele lijn wilt kleuren met alleen batch (geen andere bronnen), probeer dan dit voorbeeld:

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

Met dank aan Toetanchamon hiervoor.

Origineel antwoord (van Toetanchamon) op https://stackoverflow.com/a/23072489/3931279

Other episodes