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.

HEX-Werte Color

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.

Kommentar verfassen