Erstellen eines Menüsystems mit einem Batch Programm Verfasst am: 17.02.2009, 04:22
Ein Verfahren zur individuellen Anpassung von MS-DOS ist die Erstellung eines Menüsystems, das es Ihnen ermöglicht, einfache Befehle zum Starten von regelmäßig verwendeten Stapelverarbeitungsprogrammen einzugeben. Menüs sind besonders nützlich, wenn Anfänger mit Ihrem System arbeiten.
Hierzu ein Beispiel: Sie verwenden Microsoft Word und mehrere Computerspiele. Außerdem verwenden Sie ein Stapelverarbeitungsprogramm, um Ihre Textdateien auf einer Diskette zu sichern. In diesem Fall können Sie ein Menüsystem erstellen, das Ihnen oder irgendeinem anderen Benutzer die Verwendung dieser Programme ermöglicht, ohne dass bekannt zu sein braucht, wo sie gespeichert sind oder wie MS-DOS sie startet.
Das so erstellte individuelle Menü könnte folgendermaßen aussehen:
Hauptmenü
Folgende Aktionen sind möglich:
Ihre Textdateien sichern
Microsoft Word starten
Ein Spiel spielen
MS-DOS verwenden
Geben Sie eine Nummer ein und drücken Sie die EINGABETASTE:
Dieses Hauptmenü und eine individuelle Eingabeaufforderung können Sie sehr einfach erstellen. Mit den folgenden echo. und prompt-Befehlen können Sie MS-DOS in einem Stapelverarbeitungsprogramm namens MENUE.BAT anweisen, das Menü und die Eingabeaufforderung anzuzeigen:
echo off
cls
echo Hauptmenü
echo. echo. echo Folgende Aktionen sind möglich:
echo.
echo 1. Ihre Textdateien sichern
echo.
echo 2. Microsoft Word starten
echo.
echo 3. Ein Spiel spielen
echo.
echo 4. MS-DOS verwenden
echo. echo. prompt Geben Sie eine Nummer ein und drücken Sie die EINGABETASTE:
Der Befehl cis löscht Ihren Bildschirm, bevor MS-DOS dieses Hauptmenü anzeigt. Der Befehl prompt ändert die Eingabeaufforderung dahingehend, dass Sie zur Wahl einer Menüoption aufgefordert werden. Beachten Sie jedoch, dass MENUE.BAT keine andere Aufgabe ausführt, als den Bildschirm zu löschen und mehrere Meldungen anzuzeigen. Die eigentliche Arbeit dagegen wird von anderen Stapelverarbeitungsprogrammen erledigt, die die Aufgaben im Menü ausführen. Das Menü selbst teilt lediglich mit, was einzugeben ist, um das Stapelverarbeitungsprogramm zu starten, das eine bestimmte Aufgabe durchführt.
Die Stapelverarbeitungsprogramme, die die einzelnen Aufgaben durchführen, sind entsprechend der Menünummem benannt, mit denen sie ausgewählt werden:
Aufgabe Name des Stapelverarbeitungsprogramms
Sichert Ihre Textdateien 1.BAT
Startet Microsoft Word 2.BAT
Startet ein Spiel 3.BAT
Bringt Sie zu MS-DOS zuriick 4.BAT
Da der Name des Stapelverarbeitungsprogramms, das eine Aufgabe ausführt, mit der Nummer der Option in der Liste identisch ist, starten Sie ein neues Stapelverarbeitungsprogramm, wenn Sie an der Eingabeaufforderung im Menü eine entsprechende Nummer eingeben.
Menüoption 1: Sichern von Dateien
In dem soeben beschriebenen Menüsystem lautet die Option 1: "Ihre Textdateien sichern". Das Stapelverarbeitungsprogramm zur Ausführung dieser Option heißt 1.BAT, damit es startet, wenn Sie an der Eingabeaufforderung im Menü 1 eingeben.
Dieses Stapelverarbeitungsprogramm kopiert -DOC-Dateien aus ihrem normalen Verzeichnis auf eine Diskette. Das Programm enthält einen pause-Befehl, der darauf wartet, dass Sie eine Sicherungsdiskette in Laufwerk A einlegen. Nachdem die Datei 1.BAT fertig ausgeführt ist, startet es das Stapelverarbeitungsprogramm MENUE.BAT, damit Sie zum Hauptmenü zurückkehren und eine andere Aufgabe durchführen können. Wenn Ihre Textdateien im Verzeichnis C:\WORD\TEXTDAT gespeichert sind und A das Sicherungslaufwerk ist, sollte die Datei 1.BAT folgende Befehle enthalten:
echo off
cls
echo Zum Sichern Ihrer Dateien legen Sie eine
echo Sicherungsdiskette in Laufwerk A ein
pause
echo Folgende Dateien werden jetzt gesichert:
copy c:\word\textdat\*.doc a:
echo.
echo Wenn Sie zum Hauptmenü zurückkehren möchten:
pause menue
Wenn Sie 1 aus dem Hauptmenü auswählen, wird dieses Stapelverarbeitungsprogramm ausgeführt. Es löscht den Bildschirm und fordert Sie auf, die Sicherungsdiskette einzulegen. Nachdem die Dateien kopiert worden sind, hält das Stapelverarbeitungsprogramm an und ermöglicht es Ihnen so, die Anzeige zu lesen. Als letzten Befehl führt das Stapelverarbeitungsprogramm das Programm MENUE.BAT aus, um Sie zum Hauptmenü zurückzubringen.
Menüoption 2: Starten eines Textverarbeitungsprogramms
In dem weiter oben in diesem Abschnitt beschriebenen Menüsystem lautet die Option 2: "Microsoft Word starten", und das entsprechende Stapelverarbeitungsprogramm heißt 2.BAT. Wenn C:\WORD\WORD.EXE die
Word-Programmdatei ist, würde der folgende Befehl das Programm starten:
c:\word\word
Diese Option wäre jedoch zweckmäßiger, wenn sie vor dem Starten des Programms die verfügbaren Microsoft Word Textdateien anzeigen würde und Ihnen dann die Wahl gäbe, entweder eine bestehende Datei zu bearbeiten oder eine neue Datei zu starten. Diese beiden Aufgaben erfordern zwei Stapelverarbeitungsprogramme. Das erste zeigt die vorhandenen Dateien an und fordert Sie auf, eine Datei zur Bearbeitung anzugeben; das zweite startet Microsoft Word mit einer vorhandenen Datei oder einer neuen Datei. Das erste Stapelverarbeitungsprogramm (2.BAT) ist wie eine andere Menüoption. Es zeigt eine Liste von Dateien an und fordert Sie dann auf, eine Datei auszuwählen.
Vorausgesetzt, dass Ihre Dateien die Erweiterung .DOC haben und im Verzeichnis C:\WORD\TEXTDAT gespeichert sind und dass C:\WORD\WORD.EXE die Microsoft Word-Programmdatei ist, würde das Stapelverarbeitungsprogramm 2.BAT folgende Befehle enthalten:
echo off
cls
cd c:\word\textdat
echo Microsoft Word starten
echo. echo. echo Folgende Dateien sind bereits vorhanden,
echo.
dir *-doc /p /b
echo.
echo Zum Erstellen einer neuen Datei geben
echo Sie W ein und drücken Sie die EINGABETASTE.
echo.
echo Zum Öffnen einer vorhandenen Datei
echo geben Sie W und den Dateinamen
echo (durch ein Leerzeichen abgetrennt) ein
echo und drücken dann die EINGABETASTE.
echo.
prompt Ihre Wahl,
Das Stapelverarbeitungsprogramm 2.BAT macht das Verzeichnis mit den Textdateien zum aktuellen Verzeichnis und listet dann die vorhandenen Dateien auf. Es wechselt das aktuelle Verzeichnis zu C:\WORD\TEXTDAT, so dass Sie keine Pfadnamen zu Verzeichnissen einzugeben brauchen. Zum Befehl dir wurde die Option /p hinzugefügt, damit MS-DOS anhält, wenn die Liste der Dateien länger als eine Bildschirmseite ist; außerdem wurde die Option /b hinzugefügt, damit nur Dateinamen angezeigt werden. Das Stapelverarbeitungsprogramm zeigt zwei Optionen zum Auswählen von Textdateien an. Der letzte Befehl des Programms ändert die Eingabeaufforderung. Das Stapelverarbeitungsprogramm 2.BAT erzeugt einen Bildschirm, der folgendermaßen aussehen könnte:
Microsoft Word starten
Folgende Dateien sind bereits vorhanden,
Kl-DOC K2-DOC K3-DOC K4-DOC
Zum Erstellen einer neuen Datei geben
Sie W ein und drucken Sie die EINGABETASTE.
Zum Öffnen einer vorhandenen Datei geben Sie W und den Dateinamen
(durch ein Leerzeichen abgetrennt) ein und drücken dann die EINGABETASTE.
Ihre Wahl:
Um Microsoft Word mit einer bestehenden oder einer neuen Datei zu starten, benötigen Sie ein zweites Stapelverarbeitungsprogramm. Bei den meisten Textverarbeitungsprogrammen, einschließlich Microsoft Word, können Sie beim Starten eine Datei zum Bearbeiten angeben. Um beispielsweise Microsoft Word zu starten und die Datei KONTEN.DOC im Verzeichnis C:\WORD\TEXTDAT zu bearbeiten, würden Sie diesen Befehl eingeben:
c:\word\word c:\word\textdat\konten.doc
Wenn Sie nach dem Namen der Programmdatei keinen Dateinamen eingeben, nimmt Word an, dass Sie eine neue Datei erstellen möchten. Sie können auch einen ersetzbaren Parameter verwenden, um Microsoft Word zu starten und anzugeben, welche Datei gegebenenfalls bearbeitet werden soll. Entsprechend den von 2.BAT angezeigten Anweisungen erstellt W alleine eine neue Datei und W mit einem Dateinamen öffnet eine vorhandene Datei. Sie können beide Optionen anbieten, indem Sie ein Stapelverarbeitungsprogramm namens W.BAT erstellen, das den folgenden Befehl enthält:
c:\word\word
Wenn Sie nun w eingeben, startet MS-DOS das Stapelverarbeitungsprogramm W.BAT. Achten Sie darauf, dass W.BAT im aktuellen Verzeichnis (C:\WORD\TEXTDAT) oder in einem Verzeichnis des Befehlssuchpfads enthalten ist, damit Sie keinen Pfad eingeben müssen. Wenn Sie hinter dem w einen Dateinamen eingeben, weist MS-DOS diesen dem Parameter %1 zu, und Microsoft Word öffnet diese Datei. Falls Sie keinen Dateinamen eingeben, übergeht MS-DOS %1, und Microsoft Word erstellt eine neue Datei.
Das Stapelverarbeitungsprogramm W.BAT benötigt noch zwei weitere Befehle, um zum Hauptmenü zurückzukehren. Wenn Sie Microsoft Word beenden, kehrt MS-DOS zum Stapelverarbeitungsprogramm zurück und führt den nächsten Befehl aus. Zur Rückkehr zum Menü sollte das Stapelverarbeitungsprogramm vom aktuellen Verzeichnis zurück zum Stammverzeichnis von Laufwerk C wechseln. Das folgende Beispiel zeigt den Befehl zum Starten von Word sowie die beiden Befehle, die Sie zum Hauptmenü zurückbringen. Diese Befehle zusammen bilden das Stapelverarbeitungsprogramm W.BAT:
c:\word\word
cd \ menue
Menüoption 3: Auswählen eines Spiels
In dem weiter oben beschriebenen Menüsystem lautet die Option 3: "Ein Spiel spielen". Um für diese Aufgabe ein Stapelverarbeitungsprogramm zu erstellen, können Sie ifund goto-Befehle verwenden. Es gibt zwei Stapelverarbeitungsprogramme für diese Option: eines, das ein Spielemenü anzeigt, und eines, das das ausgewählte Spiel startet. Das erste Programm muss 3.BAT genannt werden, damit Sie es aus dem Hauptmenü heraus starten können, indem Sie 3 eingeben. Wenn Sie also beispielsweise drei Spiele (Schach, Dame und Backgammon) auflisten möchten, würde 3.BAT folgende Befehle enthalten:
echo off
cls
echo Das Spiel kann beginnen!
echo. echo. echo Sie haben folgende Wahlmöglichkeiten:
echo.
echo A. Schach spielen.
echo B. Dame spielen.
echo C. Backgammon spielen.
echo.
echo Zum Starten eines Spiels geben Sie spiel
echo und den Buchstaben des gewünschten
echo Spiels ein und drücken dann die EINGABETASTE
echo (z-B. Spiel A).
echo.
prompt Ihre Wahl:
Genau wie das Stapelverarbeitungsprogramm zur Anzeige des Hauptmenüs stellt dieses Programm lediglich eine andere Gruppe von Wahlmöglichkeiten vor. Für jede Option könnten Sie ein getrenntes Stapelverarbeitungsprogramm erstellen. Mit den Befehlen if und goto können Sie jedoch alle Optionen in einem einzigen Stapelverarbeitungsprogramm erfassen. Die Anweisungen im Menü fordern Sie auf, spiel und den Buchstaben des gewünschten Spiels einzugeben. Nehmen wir beispielsweise an, das Schachspiel ist die Datei \SPIELE\SCHACH\CMATE.EXE, das Damespiel die Datei \SPIEI,E\DAME\DAME.EXE und das Backgammonspiel die Datei \SPIELE\BACK\BACKGAMM.EXE. In diesem Fall kann das Stapelverarbeitungsprogramm SPIEL.BAT, das die folgenden Befehle enthält,
alle im Menü aufgeführten Aufgaben durchführen:
rem ** Dieses Stapelverarbeitungsprogramm kann
rem ** jedes Spiel ausführen
echo off
cls rem rem Folgende Spiele stehen zur Wahl:
rem
if goto schach
if B' goto dame
if '911"=,'C' goto back
rem
rem ******************************************************** rem Wählen Sie ein Spiel aus.
rem echo.
echo Es muss Spiel A, Spiel B oder Spiel C eingegeben werden. pause
rem
rem Wenn kein Spiel ausgewählt wird, alle
rem Spielbefehle überspringen.
rem
goto ende
:schach
rem
rem ******************************************************** rem Ist Schach ausgewählt, hierhin springen.
rem
cd \sPiele\cchach
cmate
rem
rem War Schach ausgewählt, Dame und Backgammon
rem überspringen.
rem
goto ende
:dame
rem
rem ******************************************************** rem Ist Dame ausgewählt, hierhin springen.
rem
cd \spiele\dame
dame rem rem War Dame ausgewählt, Backgammon überspringen.
rem *****-,*************************************************
rem Wenn die Spiele beendet sind, das aktuelle
rem Verzeichnis auf das Stammverzeichnis zurücksetzen
rem und das Hauptmenü anzeigen.
rem :ende
cd \
menue
Je nach dem eingegebenen Parameter wechselt MS-DOS zu einer der drei Positionen im Stapelverarbeitungsprogramm. Wenn Sie den Parameter weglassen oder einen falschen eingeben, wird eine Fehlermeldung angezeigt und Sie kehren zum Hauptmenü zurück. Das Stapelverarbeitungsprogramm SPIEL.BAT muss in Ihrem Stammverzeichnis oder in einem Verzeichnis des Befehlssuchpfads gespeichert sein.
Das Stapelverarbeitungsprogramm wechselt vom aktuellen Verzeichnis zu dem Verzeichnis, das das ausgewählte Spiel enthält. Bevor das Stapelverarbeitungsprogramm endet, setzt es jedoch das aktuelle Verzeichnis auf Ihr Stammverzeichnis zurück. Der letzte Befehl in diesem Stapelverarbeitungsprogramm startet das Programm zur Anzeige des Hauptmenüs.
Menüoption 4: Beenden des Menüsystems
In dem weiter oben beschriebenen Menüsystem lautet Menüoption 4: "MS-DOS verwenden". Das Stapelverarbeitungsprogramm, das Sie zur Eingabeaufforderung zurückbringt, heißt 4.BAT. Es enthält folgende Befehle:
prompt. $p$g cis
Noch einmal fordert Sie das Hauptmenü zur Eingabe einer Nummer auf. Wenn Sie 4 eingeben, führt MS-DOS das Stapelverarbeitungsprogramm 4.BAT aus. Dieses Programm setzt die MS-DOS-Eingabeaufforderung so, dass sie das aktuelle Laufwerk und Verzeichnis, gefolgt von einem Größer-als-Zeichen (>), zeigt, und dann löscht den Bildschirminhalt. _________________