HOWTO · Batch
Farbe im Batch-Skript
In diesem Tutorial lernen Sie Farbe in Batch Script kennen.
Auf dieser Seite
Der Befehl COLOR der Windows-Eingabeaufforderung ändert die Hintergrund- und Textfarbe der Konsole. In einem Batch-Skript können Sie damit Eingabeaufforderungen oder Statusmeldungen besser voneinander abheben. Die erste hexadezimale Ziffer legt die Hintergrundfarbe fest, die zweite die Vordergrundfarbe (den Text). Zum Beispiel bedeutet COLOR 0A: schwarzer Hintergrund und hellgrüner Text.
So funktioniert der Befehl COLOR
Die Syntax lautet COLOR attr, wobei attr aus zwei hexadezimalen Ziffern von 0 bis F besteht, die ohne Leerzeichen aufeinanderfolgen. Die erste Ziffer legt die Hintergrundfarbe fest, die zweite die Vordergrundfarbe. COLOR 1E wählt also einen blauen Hintergrund und hellgelben Text. Die Farbnamen beziehen sich auf die Konsolenpalette; das tatsächliche Erscheinungsbild kann von den Farbeinstellungen der Konsole abhängen.
Mit dem folgenden Python-Beispiel können Sie einen Befehl ausgeben lassen, den Sie in eine Batch-Datei übernehmen können:
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
print("COLOR 0A")
COLOR 0A
Die Python-Zeile gibt den Batch-Befehl aus; sie ändert nicht die Farben des Terminals. In einer Windows-Eingabeaufforderung wechselt COLOR 0A zu hellgrünem Text auf schwarzem Hintergrund. Ein späteres COLOR 0F stellt auf leuchtend weißen Text auf schwarzem Hintergrund um. Meldungen bleiben normaler, auswählbarer Konsolentext; nur ihr Erscheinungsbild ändert sich.
Batch-Farbcodes
Jede Ziffer steht für einen der 16 Farbwerte der Konsole. Verwenden Sie diese Werte an einer der beiden Stellen im Argument von COLOR:
| Code | Farbe |
|---|---|
0 |
Schwarz |
1 |
Blau |
2 |
Grün |
3 |
Türkis |
4 |
Rot |
5 |
Lila |
6 |
Gelb |
7 |
Weiß |
8 |
Grau |
9 |
Hellblau |
A |
Hellgrün |
B |
Helltürkis |
C |
Hellrot |
D |
Helllila |
E |
Hellgelb |
F |
Leuchtend weiß |
COLOR 0C verwendet beispielsweise Schwarz als Hintergrundfarbe und Hellrot als Vordergrundfarbe. Der Befehl akzeptiert hexadezimale Ziffern; die Buchstaben A bis F können daher groß- oder kleingeschrieben werden.
Farben in einem Batch-Skript festlegen
Setzen Sie COLOR vor die Meldung, deren Erscheinungsbild Sie ändern möchten. Die Einstellung gilt für die aktuelle Sitzung der Eingabeaufforderung. Mit einem späteren COLOR-Befehl können Sie daher ein anderes Farbpaar auswählen. In einem Skript legt die Folge @echo off, color 0A, set /p "name=Enter your name: " und echo Hello, %name%! hellgrünen Text auf schwarzem Hintergrund fest, fordert zur Eingabe eines Namens auf und gibt anschließend eine Antwort aus.
SET /P zeigt seine Eingabeaufforderung an und wartet auf eine Eingabe. Für die Eingabeaufforderung und die Begrüßung verwendet das Skript die Einstellung Hellgrün auf Schwarz. Wählen Sie ein Farbpaar mit ausreichend Kontrast für die vorgesehene Anzeige, denn eine angepasste Konsolenpalette kann das Aussehen der benannten Farben verändern.
Farben für Meldungen und Fehler verwenden
Ein Skript kann zwischen verschiedenen Meldungstypen das Farbpaar wechseln, damit Statusmeldungen oder Fehler leichter auffallen. Beispielsweise zeigt color 0F gefolgt von echo Starting the task. eine allgemeine Meldung in leuchtend weißem Text an. color 0C gefolgt von echo Error: the task could not continue. zeigt einen Fehler in Hellrot an. Befehle und Meldungen bleiben im Batch-Skript auswählbarer Text.
0F bedeutet hier schwarzer Hintergrund mit leuchtend weißem Text, während 0C für schwarzen Hintergrund mit hellrotem Text steht. Verwenden Sie Farbe als visuellen Hinweis und nicht als einziges Mittel zur Statusanzeige. Lassen Sie aussagekräftige Wörter wie Error in der Meldung stehen, damit sie verständlich bleibt, wenn Farben schwer zu erkennen oder nicht verfügbar sind.
Ungültige Farbkombinationen behandeln
Vordergrund- und Hintergrundfarbe müssen unterschiedlich sein. Ein Paar mit identischen Ziffern, etwa COLOR 44, ist ungültig; es bedeutet nicht „Standardeinstellung wiederherstellen“. Bei identischen Werten für Vorder- und Hintergrund setzt der Befehl COLOR den Batch-Wert ERRORLEVEL auf 1. Vermeiden Sie daher beim Auswählen eines Farbpaares identische Ziffern.
Um den Status des Befehls direkt nach einem Farbwechselversuch zu prüfen, testen Sie ERRORLEVEL, bevor Sie einen weiteren Befehl ausführen, der den Wert ändern könnte. Beispielsweise prüft color 44 gefolgt unmittelbar von if errorlevel 1 echo COLOR did not accept the requested pair. den Fehlerstatus des Befehls.
Die Prüfung meldet den Fehler, ohne anzunehmen, dass die Konsole unbemerkt zu einer bestimmten Standardeinstellung gewechselt hat. Wenn Sie eine bekannte Farbe benötigen, geben Sie ein gültiges Paar an, zum Beispiel COLOR 07 (schwarzer Hintergrund und weißer Text).
Einschränkungen der Windows-Eingabeaufforderung
Diese Batch-Befehlsfolgen verwenden den Befehl COLOR der Windows-Eingabeaufforderung. Das Ändern der Farben ist daher auf diese Umgebung beschränkt. PowerShell hat eigene Befehle und Regeln für Konsolenfarben. Hier stehen die 16 Werte aus der Tabelle zur Verfügung; ihre sichtbaren Farbtöne können je nach Farbpalette der Eingabeaufforderung variieren. Die Batch-Beispiele dienen der Anleitung und wurden in dieser Umgebung nicht ausgeführt. Führen Sie sie in der Windows-Eingabeaufforderung aus, um ihr Erscheinungsbild und Verhalten zu beobachten.