Es gibt sicher einige Einsatzmöglichkeiten um in einer Batch (*.bat) ein kleines Menü zu erstellen, damit man nicht zu viele Batch-Dateien irgendwo rumliegen hat, sondern nur eine.
Wie fängt man an?
Wenn man die Batch auch „hübsch“ machen möchte kann man wie folgt anfangen:
@ECHO OFF TITLE Hier den Fensternamen eintragen COLOR 2F
Mit @ECHO OFF werden die Befehle selbst ausgeblendet. Zum Debugen kann man das zu beginn weg lassen.
Der Befehl TITLE ermöglicht es den Namen für das Fenster zu wählen. Es müssen keine Anführungszeichen oder ähnliches eingesetzt werden.
COLOR bringt etwas Farbe ins Spiel. 2F macht den Hintergrund grün und die Schrift weiß. Es handelt sich um einen HEX-Wert.
Der erste Wert gibt die Hintergrundfarbe an und der zweite Wert die Schriftfarbe.
Der „Anfang“ ist nun getan und man kann mit dem Menü anfangen.
Beginnen sollte das Menü mit einem Marker, mit welchem das Menü erneut aufgerufen wird, sobald ein Befehl ausgeführt wurde.
Z.B. :0
:0 ECHO. ECHO. ECHO Erstes Batch-Menü ECHO. ECHO Bitte wählen ECHO =================== ECHO. ECHO 1 = Erstes Script ECHO 2 = Zweites Script ECHO 3 = Drittes Script ECHO. ECHO. x = Beenden ECHO. ECHO. SET choice= SET /p choice="Hier bitte die Option eingeben: " IF '%choice%' == '1' GOTO 1 IF '%choice%' == '2' GOTO 2 IF '%choice%' == '3' GOTO 3 IF '%choice%' == 'x' GOTO x CLS ECHO. ECHO Falsche Eingabe. Bitte erneut versuchen! GOTO 0
So könnte ein einfaches Menü komplett aussehen.
Man hat 3 Menüpunkte, für die einzelnen Scripte.
x kann man drücken um die Batch zu beenden.
Letzten Endes ist es wie bei HTML, wenn man Textmarken setzt und diese verlinkt.
ECHO. lässt euch eine Leerzeile einfügen, damit auch die Optik etwas davon hat – nur alles stumpf untereinander zu schreiben ist ja auch langweilig. 🙂
SET choice=
SET /p choice=“…“
Dies führt die Auswahl ein, welche man oben definiert hat. Der Text, welcher zwischen den Anführungszeichen steht wird wiedergegeben.
IF ‚%choice%‘ == ‚1‘ GOTO 1
Dieser Befehl ist eigentlich selbst erklärend: Wenn die Variable choice 1 eingegeben und bestätigt wird, so geht das Script an die Textmarke :1.
CLS lässt den Inhalt der Batch wieder leeren.
Nun kann man zwischen :1 und (man kann hier jetzt den Befehl PAUSE erst verwenden, damit man ein Ergebnis des Scriptes einsehen kann) GOTO 0 jedes beliebige DOS Script einfügen welches man mit den zur Verfügung stehenden Befehlen ausführen kann.
Wenn das Script dann ausgeführt und abgeschlossen wurde, wird über GOTO 0 wieder das Menü aufgerufen.