MS-DOS Forum

MS-DOS Forum
Anleitungen, Referenz aller DOS Befehle, Batch Dateien
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    MS-DOS Forum Foren-Übersicht -> Batch Programmierung
Autor
Nachricht
matthias





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 Stapel­verarbeitungsprogramm, 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 Stapelverarbeitungs­programm 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 Stapelverarbeitungs­programm 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 if­und 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 Stapelverarbeitungs­programm 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

goto ende

,back

rem

reif, ********************************************************

rem Ist Backgammon ausgewählt, hierhin springen.

rem

cd \spiele\back

backgamm

rem

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 Stapelverarbeitungs­programm 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.
_________________
 
Neues Thema eröffnen   Neue Antwort erstellen    MS-DOS Forum Foren-Übersicht -> Batch Programmierung

Tags: programm erstellen, batch, menü

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Der Befehl Undelete funktioniert nicht 1929 01.12.2008, 09:32
Keine neuen Beiträge eine gelöschte MS-DOS Datei wiederherstellen 4340 09.11.2008, 11:47
Keine neuen Beiträge Ein Programm benutzt nicht den XMS-Erweiterungsspeicher 1275 25.11.2008, 09:50
Keine neuen Beiträge Ein Programm meldet, dass die MS-DOS-Version falsch ist 991 16.11.2008, 11:59
Keine neuen Beiträge MS-DOS wird nicht im oberen Speicherbereich ausgeführt 1594 09.11.2008, 11:40
 



[ Time: 0.2583s ][ Queries: 59 (0.0650s) ][ GZIP on - Debug on ]