ie kann man in einer batch die farbe eines zeichen ändern?
hallo, Ich wollte mal von euch wissen, wie man in einer batch die farbe eines zeichen (nicht der zeile!) ändern kann.zB. so: echo hello (grün) world (blau). kann mir jemand weiterhelfen? mfg niklasmaurice
2 Antworten
Das geht noch nicht mal nur für eine Zeile, sondern nur für den gesamten Terminal (-> COLOR).
Es gibt aber Hilfs-Tools, die das können. Ein uraltes Tool war die Norton Commander Toolbox, die läuft aber nicht mehr unter 64bit-Windows, da das noch ein 8bit-Programm war. Allerdings hat NirSoft mit dem nircmd ein sehr starkes Werkzeug geschaffen und ich meine, dass dies einzelne Zeichen unterschiedlich färben kann.
Ich bin gerade nicht unter Windows, daher kann ich da leider jetzt nicht nach schauen. Teste das mal.
Habe gerade nochmal die CHM-Hilfe öffnen können und es geht bei NirCmd mit dem Befehl "setconsolecolor". Dazu muss aber dann auch darauf folgend der Befehl "consolewrite" zur Textausgabe benutzt werden.
Ich frage mich wie wir vor 30 jahren sowas gemacht haben, als man nicht schnell mal ein Progrämmchen auch dem Netz ziehen konnten.
Mit Windows kann man nahezu alles tun, man muss nur wissen wie!
einmal gibt es die Findstring Methode: https://pastebin.com/J4LbWHFy
Seit die Powershell fest zum System gehört geht's auch so:
@echo off
call :_color 12 4 "mein Text"
call :_color 9 14 "mein Text2" -NoNewLine
call :_color 0 11 " mein Text3"
pause
:_color
powershell -Command write-host '%3' %4 -foregroundcolor %1 -backgroundcolor %2
exit /b