Stapelverarbeitungsdateien und ihre Verwendung

Dieses Kapitel beschäftigt sich mit den folgenden Themen:

¦ Wie man eine Stapelverarbeitungsdatei anlegt

¦ Wie eine AUTOEXEC.BAT-Datei funktioniert

¦ Wie man Blindparameter in einer Stapelverarbeitungsdatei benutzt

¦ Wie man eine Stapelverarbeitungsdatei ausführt

¦ Wie man Stapelverarbeitungsdateien im Mehrprozeßbetrieb einsetzt


Was ist der Nutzen einer Stapelverarbeitungsdatei?

Sicher haben Sie sich schon so manches Mal darüber geärgert, wenn Sie zur
Durchführung einer im Grunde recht elementaren und daher häufig
wiederkehrenden Aufgabe immer wieder die gleiche Befehlsfolge eingeben
mußten. Mit MS-DOS bleibt Ihnen dieser Ärger erspart, denn MS-DOS bietet
die Möglichkeit, die besagte Befehlsfolge in Form einer sogenannten
Stapelverarbeitungsdatei abzuspeichern und später bei Bedarf durch simple
Eingabe des Dateinamens immer wieder aufzurufen. Sie brauchen nicht einmal
das Dateinamensuffix mit einzugeben, obwohl Sie es beim Anlegen der Datei
mit dem Dateinamen eingeben müssen.

MS-DOS führt diese "Befehlsstapel" genauso aus, als hätten Sie sie über die
Tastatur einzeln eingegeben. Der gaze Komplex wird als Stapelverarbeitung
bezeichnet. Der Vorteil ist, daß Sie die für eine bestimmte Aufgabe notwendigen
Befehle nicht mehr einzeln über die Tastatur einzugeben brauchen, sondern mit
Hilfe eines einzigen Befehls die Ausführung einer gazen Reihe aufeinander-
folgender Befehle auslösen können. So können Sie sich neben den MS-DOS
Befehlen noch eine Reihe von maßgeschneiderten Befehlen für den eigenen
Bedarf zurechtlegen.

Wie man eine Stapelverarbeitungsdatei anlegt

Eine Stapelverarbeitungsdatei wird entweder mit dem Zeileneditor EDLIN oder
mit dem Befehl COPY angelegt. Wenn Sie Sich für EDLIN entschlossen haben,
finden Sie in den Kapiteln 6 und 7 alles Wissenswerte darüber. Die Beispiele in
diesem Kapitel zeigen Ihnen, wie Sie eine Stapelverarbeitungsdatei mit dem
Befehl COPY anlegen.

Angenommen, Sie möchten eine Stapelverarbeitungsdatei anlegen, mit der Sie
eine neue Diskette formatieren und prüfen können. Dazu sind folgende Schritte
notwendig:

1. Geben Sie zunächst einmal folgendes ein:

COPY CON PRUEFNEU.BAT

Drücken Sie die RETURN-TASTE. Damit bewirken Sie, daß das Betriebs-
System alle über die Tastatur eingegebenen Informationen (Befehle) in die
Datei PRUEFNEU.BAT schreibt.

2. Schreiben Sie aIs nächstes die folgenden Textzeilen, und drücken Sie nach
jeder Zeile die RETURN-TASTE:

REM Dies ist eine Datei zum Formatieren und
REM Prüfen neuer Disketten.
REM Sie trägt den Namen PRUEFNEU.BAT.
PAUSE Neue Diskette in Laufwerk B: einlegen !
FORMAT B: /V
CHKDSK B:

3. Betätigen Sie nach der letzten Zeile die Tastenkombination CTRL-Z und
anschließend die RETURN-TASTE, um die Datei zu speichern. Sobald die
Datei angelegt ist, zeigt MS-DOS die Meldung "1 Datei(en) kopiert!" an.

4. Die Datei wird ausgeführt, sobald Sie den Namen der Datei wie einen
normalen Befehl eingeben:

PRUEFNEU

Das Ergebnis ist das gleiche, wie wenn Sie die Zeilen der .BAT-Datei als
Befehle über die Tastatur einzeln eingeben würden.

Wissenswertes über die Stapelverarbeitung

Wenn Sie mit MS-DOS Stapelverarbeitungsdateien anlegen und ausführen,
sollten Sie folgende Regeln beachten:

¦ Jede Stapelverarbeitungsdatei muß das Dateinamensuffix .BAT tragen.
¦ Zur Ausführung einer Stapelverarbeitungsdatei geben Sie jedoch nur den
Namen der Datei ohne Suffix ein.

¦ Wenn Sie die Tastenkombination CTRL-C betätigen, während eine
Stapelverarbeitung läuft, werden Sie gefragt, ob Sie die Stapelverarbeitung
wirklich beenden möchten.

¦ Wenn Sie während der Ausführung einer Stapelverarbeitungsdatei die
Diskette, auf der sich die Datei befindet, aus dem Laufwerk nehmen, wird
Ihnen mitgeteilt, daß der Stapelverarbeitungsauftrag nur zu Ende geführt
werden kann, wenn Sie die Diskette wieder in das Laufwerk zurücklegen.
¦ Sie haben die Möglichkeit, als letzten Befehl in einer Stapelverarbeitungs-
datei den Namen einef anderen Stapelverarbeitungsdatei aufzunehmen. Die
zweite Datei wird dann aufgerufen, sobald die erste abgearbeitet ist.

¦ Sie können in einer Stapelverarbeitungsdatei alle gültigen Eingabe-
/Ausgabesteuerzeichen (< > << >>) verwenden. Weitere Einzelheiten
bezüglich der Benutzung dieser Zeichen finden Sie in Kapitel 2
"Wissenswertes über Befehle".
¦ Das Verkettungszeichen (¦) darf in einer Stapelverarbeitungsdatei nicht
verwendet werden.

¦ Wenn Sie ein Verzeichnis oder ein Laufwerk neu zuordnen, sind alle
nachfolgenden Befehle in der Stapelverarbeitungsdatei davon betroffen.

¦ Auch die Zuordnung von Zeichenfolgen mit dem Befehl SET wirkt sich auf
jeden nachfolgenden Befehl in der Stapelverarbeitungsdatei aus.

Hinweis Wenn Sie mehrere gleichnamige Befehle haben, hängt es vom
Dateinamensuffix ab, welcher Befehl ausgeführt wird. Dabei gilt folgende
Rangordnung: Zuerst werden die .COM-, dann die .EXE- und schließlich die
.BAT-Dateien ausgeführt.

Angenommen, Ihre Diskette enthält die Dateien FORMAT.EXE und
FORMAT.BAT. Wenn Sie nun den externen Befehl FORMAT eingeben, führt
MS-DOS immer zuerst das in der Datei FORMAT.EXE gespeicherte Programm
aus. Um die Stapelverarbeitungsdatei FORMAT.BAT ausführen zu lassen,
müssen Sie sie in ein anderes Verzeichnis übertragen und zusammen mit dem
externen Befehl FORMAT einen geeigneten Suchweg mit eingeben.

Was ist eine AUTOEXEC.BAT-Datei?

Mit der Datei AUTOEXEC.BAT bewirken Sie die automatische Ausführung
von Programmen, wenn Sie MS-DOS starten. Das ist vor allem dann nützlich,
wenn Sie immer ein ganz bestimmtes Anwendungsprogramm unter MS-DOS
laufen lassen möchten oder MS-DOS für Sie, jedesmal wenn Sie Ihren
Computer einschalten, ein Stapelverarbeitungsprogramm ausführen soll. Die
Datei AUTOEXEC.BAT erspart es Ihnen, die gewünschten Programme immer
selbst einzeln laden zu müssen.
Wenn Sie Ihren Computer einschalten, sucht MS-DOS im Stammverzeichnis
der Diskette im Standardlaufwerk nach einer Datei mit dem Namen
AUTOEXEC.BAT. Diese Datei wird sodann verarbeitet, d.h. die darin
enthaltenen Befehle werden sofort ausgeführt und die Datums- und
Zeiteingabeaufforderungen übersprungen. Wenn MS-DOS diese Datei nicht
findet, werden automatisch die Eingabeaufforderungen für Datum und Zeit
angezeigt.

Hinweis Wenn Sie die beiden Befehle DATE und TIME nicht in Ihre
AUTOEXEC.BAT-Datei einfügen, werden Sie von MS-DOS auch nicht zur
Eingabe des Datums und der Uhrzeit aufgefordert.

Die Daten, die durch diese Befehle gewonnen werden, sind jedoch für ein
korrekt geführtes und auf dem neuesten Stand befindliches Verzeichnis
unentbehrlich und sollten deshalb unbedingt mit in die Datei AUTOEXEC.BAT
aufgenommen werden. Mehr über diese beiden Befehle erfahren Sie in Kapitel 3
"Die MS-DOS-Befehle".

Die Abbildung unten zeigt den genauen Ablauf beim Starten von MS-DOS:

Sie laden MS-DOS.
¦
¦
MS-DOS sucht nach der
Datei CONFIG.SYS.
¦
¦
Ist die Datei Ja -->
CONFIG.SYS


vorhanden? ¦
¦ ¦
¦ MS-DOS konfiguriert das
¦ System unter Eintragen in
Nein¦ der Datei CONFIG.SYS.
¦ ¦ ¦
¦ ¦
¦ <


MS-DOS lädt den
Befehlsprozessor
¦
¦
Der Befehlsprozessor
sucht nach einer Datei
mit dem Namen
AUTOEXEC.BAT.
¦
¦
Ist die Datei Nein -->
AUTOEXEC.BAT



vorhanden? ¦
¦ ¦
Ja ¦ ¦
¦ ¦ ¦
¦ ¦
¦ ¦
Der Befehlsprozessor Der Befehlsprozessor
führt die Datei bewirkt die Anzeige der MS-DOS
AUTOEXEC.BAT aus. Eingabeaufforderung für das
Datum und die Uhrzeit.

Wie man eine AUTOEXEC.BAT-Datei anlegt

Eine AUTOEXEC.BAT-Datei kann Ihnen in vielerlei Hinsicht zur effizienteren
Erledigung Ihrer Aufgaben mit MS-DOS verhelfen. Unter anderem können Sie
Zeit- und Datumseingaben, den Suchweg und andere für Ihre Arbeit
notwendigen Optionen automatisch gleich beim Starten von MS-DOS festiegen.

Wenn Sie zum Beispiel möchten, daß bei jedem Starten von MS-DOS
automatisch GW-BASIC geladen und ein Programm mit dem Namen MENU
ausgeführt wird, sollten Sie Ihre AUTOEXEC.BAT-Datei folgendermaßen
anlegen:

1. Schreiben Sie den folgenden Befehl, und schließen Sie ihn mit der RETURN-
TASTE ab:

COPY CON AUTOEXEC.BAT

Der Befehl bewirkt, daß alles, was Sie über die Tastatur eingeben, in die
Datei AUTOEXEC.BAT übertragen wird. Die Datei muß sich allerdings im
Stammverzeichnis Ihrer MS-DOS-Systemdiskette befinden.
2. Schreiben Sie nun folgende Zeilen:

DATE
TIME
PATH=C:\;C:\BIN;A:\
PROMPT $P
CLS
GWBASIC MENU

3. Wenn Sie die letzte Zeile geschrieben haben, betätigen Sie zuerst die
Tastenkombination CTRL-Z, und übertragen Sie anschließend den Text durch
Drücken der RETURN-TASTE in die Datei AUTOEXEC.BAT.
4. Das Programm MENU wird nun jedesmal automatisch ausgeführt, wenn Sie
MS-DOS starten.

Wenn Sie Ihre Datei AUTOEXEC.BAT wie oben eingerichtet haben, wird sie
bei jedem Starten von MS-DOS folgendes bewirken: Sie werden aufgefordert,
das Tagesdatum und die aktuelle Uhrzeit einzugeben; Ihr Suchweg wird
festgelegt; in der MS-DOS-Eingabeaufforderung werden das Standardlaufwerk
und das momentane Verzeichnis angezeigt.

Anschließend wird der Bildschirm gelöscht, GW-BASIC über MS-DOS geladen
und das Programm MENU ausgeführt. Um Ihr eigenes Programm ausführen zu
lassen, geben Sie anstelle von MENU oben im Beispiel den Namen Ihres
Programms ein. Sie können neben den GW-BASIC-Programmen auch beliebige
MS-DOS-Befehle oder -Befehlsfolgen in die Datei AUTOEXEC.BAT einbauen.

Wie man eine Stapelverarbeitungsdatei mit
Blindparametern anlegt

Es kann vorkommen, daß Sie ein Programm erstellen möchten, das öfter mit
verschiedenen Daten ausgeführt werden soll. Diese Daten können in
verschiedenen MS-DOS-Dateien gespeichert sein.
Mit MS-DOS können Sie eine Stapelverarbeitungsdatei (.BAT) mit sogenannten
Blindparametern anlegen. Der Blindparameter ist eine Befehlsoption, die Sie
von Fall zu Fall neu festiegen können. Die Blindparameter %0-%9 sind Platz-
halter für die Werte, die Sie mit jedem Stapelverarbeitungsbefehl neu eingeben.

Stapelverarbeitungsdateien werden durch Blindparameter flexibler und leichter
zu handhaben. Sie können zum Beispiel eine Stapelverarbeitungsdatei mit dem
Namen ORDNUNG.BAT anlegen, die eine Datei, in der eine bestimmte Folge
von Zeichen oder Zeichenfolgen enthalten ist, nach dieser Zeichenfolge ordnet.
Jedesmal, wenn Sie die Stapelverarbeitungsdatei ausführen lassen, müssen Sie
auch angeben, nach welcher Zeichenfolge geordnet werden soll, in welcher
Datei sich diese Zeichenfolge befindet und welche vorläufige Datei Sie zum
Ordnen verwenden möchten. Die aus dem bisherigen Ablauf hervorgehende
Liste wird anschließend auf dem Drucker ausgegeben.

1. Um die Datei ORDNUNG.BAT anzulegen, schreiben Sie den folgenden
Befehl, und drücken Sie anschließend die RETURN-TASTE:

COPY CON ORDNUNG.BAT

2. Schreiben Sie nun die folgenden Zeilen:

TYPE %2 | FIND "%1" > %3
TYPE %3 | SORT > DRU
DEL %3

3. Um die Stapelverarbeitungsdatei zu speichern, betätigen Sie die
Tastenkombination CTRL-Z und anschließend die RETURN-TASTE.

Die aus drei Befehlszeilen bestehende Datei ORDNUNG.BAT ist nun auf der
Diskette im Standardlaufwerk gespeichert.

Bei der Ausführung der Datei ersetzt MS-DOS die Platzhalter %1, %2 und %3
durch die von Ihnen angegebenen Werte. An die Stelle des Blindparameters %0
setzt MS-DOS immer die Laufwerksbezeichnung (wenn angegeben) und den
Dateinamen der Stapelverarbeitungsdatei (zum Beispiel den Dateinamen
ORDNUNG).


Hinweise

¦ Sie können in einer Stapelverarbeitungsdatei bis zu zehn Blindparamter
verwenden (%0-%9). Wenn Sie mehr als zehn Blindparamter benötigen,
schlagen Sie die Beschreibung des Befehls SHIFT in diesem Kapitel auf.

¦ Wenn ein Prozentzeichen als Teil eines Dateinamens in Ihrer Stapel-
verarbeitungsdatei vorkommt, müssen Sie es zweimal schreiben. Die Datei
ABC%.EXE muß dann als Datei ABC%%.EXE in der
Stapelverarbeitungsdatei stehen.

Wie man eine Stapelverarbeitungsdatei ausführt

Um die Stapelverarbeitungsdatei ORDNUNG.BAT auszuführen, geben Sie den
Dateinamen ein und danach die Parameter, die MS-DOS an die Stelle der
Platzhalter %1, %2 und %3 setzen soll.
Angenommen, die Diskette in Laufwerk A enthält eine Datei mit einer Tabelle,
in der Namen und Vertriebsbezirke Ihrer Kunden aufgezeichnet sind. Die
Tabelle sieht folgendermaßen aus:

Schreiber, Andreas Nord
Pollak, Erika Süd
Sendler, Ingrid Nord
Fischer, Peter Ost
Krailer, Barbara Süd
Reber, Ferdinand Nord
Siegler, Richard West
Moll, Christian Nord

Wenn Sie eine alphabetisch geordnete Liste aller Kunden im Bezirk Nord
drucken möchten, führen Sie die Stapelverarbeitungsdatei ORDNUNG mit den
entsprechenden Parametem aus, indem Sie den folgenden Befehl schreiben und
anschließend die RETURN-TASTE drücken:

ORDNUNG NORD A:KUNDEN VORL.DAT

Die auf dem Drucker ausgegebene Liste sieht folgendermaßen aus:

Moll, Christian Nord
Reber, Ferdinand Nord
Schreiber, Andreas Nord
Sendler, Ingrid Nord

Der Tabelle unten können Sie entnehmen, welche Parameter MS-DOS durch
welche Werte ersetzt:

Name der Stapelverarbeitungsdatei (%0) ORDNUNG
Parameter1 (%1) NORD
Parameter2 (%2) A:KUNDEN
Parameter3 (%3) VORL.DAT

Das Ergebnis fällt genauso aus, wie wenn Sie jeden der Befehle des Stapelver-
arbeitungsprogramms mit den entsprechenden Parameterwerten einzeln
eingeben. Die einzelnen Befehle sehen also so aus:

TYPE A: KUNDEN | FIND "NORD" > VORL.DAT
TYPE VORL.DAT | SORT > DRU

DEL VORL.DAT

Mit der Stapelverarbeitungsdatei sparen Sie jedoch Zeit bei der Eingabe, sie ist
leichter zu merken und Sie vermeiden manchen Eingabefehler.

Wie man vorläufige Dateien verwendet

Bei der Arbeit mit Stapelverarbeitungsdateien müssen gelegentlich Ergebnisse
zwischengespeichert werden. Dazu dienen die sogenannten vorläufigen Dateien.
Normalerweise genügt für den Gebrauch mit Stapelverarbeitungsdateien eine
einzige vorläufige Datei, deren Name nicht einmal geändert werden muß.

Der Inhalt einer vorläufigen Datei wird automatisch gelöscht, sobald Sie neue
Daten darin zwischenspeichern. Wenn dagegen der alte Inhalt erhalten bleiben
soll, müssen Sie für den Namen der vorläufigen Datei einen Blindparameter
verwenden. Jedesmal, wenn Sie ein Stapelverarbeitungsprogramm ablaufen
lassen, können Sie der vorläufigen Datei dieses Programms einen eigenen
Namen geben, um zu verhindern, daß der zu einer anderen Stapelver-
arbeitungsdatei gehörende alte Inhalt der vorläufigen Datei durch die neuen
Daten überschrieben wird.

Um Diskettenspeicherplatz zu sparen, empfiehlt es sich, vorläufige Dateien zu
löschen, sobald sie nicht mehr gebraucht werden.

Die Stapelverarbeitungsbefehle und wie man sie verwendet

Nachdem Sie sich nun eingehend über die Verwendungsmöglichkeiten der
Stapelverarbeitungsdateien informiert haben, erfahren Sie im folgenden, wie Sie
Ihren Stapelverarbeitungsprogrammen mit Hilfe der Stapelverarbeitungsbefehle
noch mehr Vielseitigkeit und Leistungsfähigkeit verleihen. In der Tabelle unten
sind die Stapelverarbeitungsbefehle aufgeführt und kurz beschrieben:

Befehl Funktion

ECHO Ermöglicht es Ihnen, die Funktion Kontrollanzeige ein- oder
auszuschalten bzw. den momentanen Zustand der Funktion zu
erfahren.
FOR Bewirkt, daß ein Befehl auf mehrere Dateien angewendet
wird.
GOTO Bewirkt, daß die Befehlsverarbeitung ab der angegebenen
Sprungmarke erfolgt.
IF Führt einen Befehl aus, wenn die angegebene Bedingung
erfüllt ist.
PAUSE Unterbricht die Ausführung einer Stapelverarbeitungsdatei
vorübergehend.
REM Dient zum Einfügen eines Kommentars in eine Stapel-
verarbeitungsdatei.
SHIFT Vergrößert die Anzahl der möglichen Blindparameter in einer
Stapelverarbeitungsdatei.

Der Befehl ECHO

Verwendungszweck

Dient zum Ein- und Ausschalten der Stapelverarbeitungsfunktion
Kontrollanzeige.


Syntax

ECHO (ON)

oder

ECHO (OFF)
oder

ECHO (Meldung)


Wirkungsweise

Normalerweise werden die Befehle einer Stapelverarbeitungsdatei am
Bildschirm angezeigt (Kontrollanzeige), sobald sie von MS-DOS gelesen
werden. Geben Sie ECHO OFF ein, wenn diese Funktion abgeschaltet und
ECHO ON, wenn sie wieder zugeschaltet werden soll.

Wenn Sie nur den Befehl ECHO, also ohne Option, eingeben, wird der
derzeitige Zustand der Funktion am Bildschirm angezeigt.

Der Befehl ECHO Meldung (wobei Meldung eine Textzeile ist), ist nur dann
nützlich, wenn die Kontrollanzeige abgeschaltet ist und Sie mit einer
Stapelverarbeitungsdatei arbeiten. Wenn Sie in lhrer Stapelverarbeitungsdatei
den Befehl ECHO eingeben und anschließend eine Textzeile schreiben, wird
dieser Text als Meldung in die Datei aufgenommen. Wenn die Meldung mehrere
Zeilen lang ist, müssen Sie am Anfang jeder Zeile den Befehl ECHO
wiederholen.

Beispiel

Das Beispiel unten zeigt eine mehrere Zeilen lange Meldung für eine
Stapelverarbeitungsdatei:

ECHO OFF
ECHO Dies ist eine Stapelverarbeitungsdatei
ECHO zum Formatieren und Prüfen
ECHO neuer Disketten.

Der Befehl FOR

Verwendungszweck
Bewirkt, daß ein Befehl auf eine Menge von Dateien angewendet wird.
Syntax
FOR %%C IN Menge DO Befehl
(bei Stapelverarbeitungsaufgaben)

FOR %C IN Menge DO Befehl
(im Dialogbetrieb)


Wirkungsweise

Die Variable C kann ein beliebiges Zeichen mit Ausnahme der Ziffern von 0 bis 9
sein. Diese Einschränkung ist erforderlich, um Verwechslungen mit den
Stapelverarbeitungsparametern %0 bis %9 zu vermeiden.

Menge ist ( Element*)

Der Variablen %%C wird nacheinander jeder in Menge enthaltene Wert
zugeordnet und mit diesen Werten jeweils das Ergebnis des Befehls ermittelt. Ist
eines der Elemente der Menge ein Ausdruck mit einem der Stellvertreterzeichen
(* oder ?), dann wird der Variablen nacheinander jedes passende Element der
Diskette zugeordnet. In diesem Fall darf die Menge nur ein einziges solches
Element enthalten, da weitere Posten grundsätzlich unberücksichtigt bleiben.

Beispiele

Im folgenden Beispiel wird die Variable %F allen im momentanen Verzeichnis
enthaltenen Dateien zugeordnet, die mit der Zeichenfolge *.ASM enden:

FOR %%F IN ( *.ASM ) DO MASM %%F

Anschließend wird ein Befehl mit folgendem Format ausgeführt:

MASM Dateiname

Der Dateiname kann einer der folgenden sein:

RECHNUNG.ASM
QUITTUNG.ASM
STEUERN.ASM

Im nächsten Beispiel wird die Variable %F den Dateien BERICHT, MTTLG
und ADRESSEN zugeordnet; die Dateien werden nacheinander gelöscht:

FOR %%F IN (BERICHT MTTLG ADRESSEN) DO DEL %%F

Die Eingabe eines doppelten Prozentzeichens (%%) ist erforderlich, damit nach
der Verarbeitung der Stapelverarbeitungsparameter (%0 bis %9) ein
Prozentzeichen (%) erhalten bleibt. Wenn nur ein Prozentzeichen (%)
eingegeben würde (%F), würde der Stapelverarbeitungsparameterprozessor das
Prozentzeichen erkennen, das danach stehende Zeichen (F) prüfen und
feststellen, daß F an dieser Stelle ein ungültiges Zeichen ist. Das Zeichen F
würde ausgesondert und damit einer Verarbeitung durch den Befehl FOR
entzogen.

Steht FOR jedoch nicht in einer Stapelverarbeitungsdatei, dann sollte nur ein
Prozentzeichen (%) verwendet werden.

Der Befehl GOTO

Verwendungszweck

Bewirkt, daß in der Stapelverarbeitungsdatei die Befehle ab der Zeile nach der
Marke zur Ausführung gebracht werden.


Syntax

GOTO Marke


Wirkungsweise

Der Befehl GOTO dient dazu, in einer Stapelverarbeitungsdatei Befehle erst ab
der Zeile nach der Marke auszuführen. Als Marke gelten die auf den Befehl
GOTO folgenden Zeichen. Die Marke darf Leerzeichen enthalten, aber keine
anderen Abgrenzungszeichen, wie zum Beispiel Strichpunkte oder
Gleichheitszeichen. Falls die anzuspringende Marke nicht existiert, wird die
Ausführung der Stapelverarbeitungsdatei abgebrochen.

Hinweis Zeilen einer Stapelverarbeitungsdatei, die mit einem Doppelpunkt (:)
beginnen, werden bei der Ausführung der Datei übergangen.


Beispiel

Im folgenden Beispiel wird zur Marke ENDE verzweigt, vorausgesetzt bei der
Formatierung der Diskette in Laufwerk A sind keine Fehler aufgetreten:

: ANFANG
ECHO OFF
FORMAT A: /S
IF ERRORLEVEL 0 GOTO ENDE
ECHO Bei der Formatierung ist ein Fehler aufgetreten.
:ENDE
ECHO Ende der Stapelverarbeitungsdatei.

Der Befehl IF

Verwendungszweck

Führt einen Befehl aus, wenn die angegebene Bedingung erfüllt ist.


Syntax

IF(NOT) ERKORLEVEL Nummer Befehl

oder
IF(NOT)Zeichenfolge1 == Zeichenfolge2 Befehlehi

oder
IF(NOT) EXIST Dateiname Befehl


Wirkungsweise

Der Befehl IF ermöglicht die von einef Bedingung abhängige Ausführung eines
Befehls. Der Befehl wird ausgeführt, wenn die Bedingung erfüllt ist, und
übergangen, wenn die Bedingung nicht erfüllt ist.
Die Bedingungen können folgendermaßen aussehen:

ERRORLEVEL Nummer

Diese Bedingung ist nur dann wahr, wenn das zuvor über COMMAND.COM
ausgeführte Programm einen Beendigungscode mit der angegebenen oder einer
höheren Nummer hatte. (Jedes Programm liefert nach seiner Ausführung, ob
erfolgreich oder nicht, einen Beendigungscode über MS-DOS.) Mit Hilfe dieser
Bedingung können, gestützt auf den Beendigungscode des vorher ausgeführten
Programms, andere Aufgaben gesteuert werden.

Zeichenfolge1 == Zeichenfolge2

Diese Bedingung ist nur dann wahr, wenn die Zeichenfolge1 und die
Zeichenfolge2 nach dem Austausch der Parameter gleich sind. In den
Zeichenfolgen sind keine Abgrenzungszeichen, wie zum Beispiel Kommas,
Strichpunkte, Gleichheitszeichen oder Leerzeichen zulässig.

EXIST Dateiname

Diese Bedingung ist nur dann wahr, wenn die Datei mit dem angegebenen
Namen existiert.
Wenn Sie den Parameter NOT mit eingeben, wird der Befehl ausgeführt, wenn
die Bedingung falsch ist.


Beispiel

Im folgenden Beispiel wird die Meldung "Datei nicht gefunden!" angezeigt,
wenn sich die Datei PRODUKT.DAT nicht auf der Diskette befindet:

IF NOT EXIST PRODUKT.DAT ECHO "Datei nicht gefunden!"

Der Befehl PAUSE

Verwendungszweck

Unterbricht die Ausführung einer Stapelverarbeitungsdatei vorübergehend.


Syntax

PAUSE (Kommentar)


Wirkungsweise

Während der Ausführung einer Stapelverarbeitungsdatei kann es notwendig
werden, Disketten zu wechseln oder andere Maßnahmen zu ergreifen, die eine
Unterbrechung der Programmausführung erforderlich machen. Der Befehl
PAUSE setzt die Ausführung des Programms solange aus, bis Sie eine beliebige
Taste mit Ausnahme der Tastenkombination CTRL-C betätigen.

Sobald der Befehlsprozessor auf den Befehl PAUSE stößt, wird folgende
Meldung ausgegeben:

Wenn bereit, eine beliebige Taste drücken!

Wenn Sie die Tastenkombination CTRL-C betätigen, erscheint folgende
Meldung:

Stapelverarbeitung beenden? (J/N):

Wenn Sie mit J antworten, wird die Ausführung der Stapelverarbeitungsdatei
abgebrochen und zum Betriebssystem zurückverzweigt. Der Befehl PAUSE
bietet Ihnen also die Möglichkeit, eine Stapelverarbeitungsdatei in mehrere
Abschnitte zu unterteilen, an deren Ende Sie jeweils die Ausführung der Datei
unterbrechen bzw. abbrechen können.
Der Befehlsparameter Kommentar ermöglicht es Ihnen, bei der Unterbrechung
eine besondere Meldung auszugeben. Wenn die Kontrollfunktion (ECHO)
zugeschaltet ist, wird diese Meldung noch vor der Meldung "Wenn bereit, eine
beliebige Taste betätigen!" angezeigt.

Hinweis Die Zeile mit dem Befehl PAUSE und der Meldung wird nicht
angezeigt, wenn die Kontrollfunktion abgeschaltet ist.

Beispiel

Nehmen wir einmal an, Sie möchten in ein Programm eine Aufforderung zum
Wechseln der Disketten in einem der Laufwerke einbauen. Dazu brauchen Sie
nur den folgenden Befehl einzugeben:

PAUSE Bitte eine neue Diskette in Laufwerk A einlegen!

Wenn die Kontrollfunktion zugeschaltet ist, wird diese Aufforderung bei der
Ausführung einer Stapelverarbeitungsdatei noch vor der Meldung "Wenn bereit,
eine beliebige Taste betätigen!" angezeigt.

Der Befehl REM

Verwendungszweck

Der Befehl dient dazu, während der Ausführung einer Stapelverarbeitungsdatei
den Text anzuzeigen, der in der gleichen Zeile steht wie der Befehl REM in der
Stapelverarbeitungsdatei.


Syntax

REM (Kommentar)


Wirkungsweise

Der Parameter Kommentar ist eine Textzeile, mit der Sie sich selbst über die
Funktion Ihrer Stapelverarbeitungsdatei auf dem laufenden halten können.

Als Abgrenzungszeichen sind im Kommentar nur Leerzeichen, Tabulator-
zeichen und Kommas erlaubt.

Sie können Ihre Stapelverarbeitungsdatei übersichtlicher gestalten, indem Sie
den Befehl REM ohne Kommentar einfügen und damit Leerräume schaffen.


Beispiel

Im folgenden Beispiel werden sowohl Erläuterungen als auch Leerräume in eine
Stapelverarbeitungsdatei eingebaut:


REM Diese Datei formatiert und prüft neue Disketten
REM Sie trägt den Namen PRUEFNEU.BAT
REM
PAUSE Bitte neue Diskette in Laufwerk B einlegen!
FORMAT B: /V
CHKDSK B:

Der Befehl SHIFT

Verwendungszweck

Dient dazu, Blindparamter in einer Stapelverarbeitungsdatei jeweils um eine
Stelle zu verschieben.


Syntax

SHIFT


Wirkungsweise

Mit dem Befehl SHIFT können Sie Befehlszeilen-Blindparameter jeweils um
eine Stelle versetzen.
Normalerweise sind in Stapelverarbeitungsdateien nur zehn Blindparameter,
also %0 bis %9, zulässig. Der Befehl SHIFT ermöglicht es Ihnen jedoch, auch
mehr als zehn Parameter zu verwenden. Wenn dann eine Befehlszeile mehr als
zehn Parameter enthält, werden die hinter dem zehnten (%9) stehenden
nacheinander in die Position %9 verschoben.

Der Befehl SHIFT kann auch verwendet werden, wenn weniger als zehn
Parameter vorliegen.

Achtung Die Wirkung des Befehls SHIFT kann nicht wieder rückgängig
gemacht werden. Der erste Parameter (%0), der vor der Versetzung noch
existierte, kann nach der Ausführung des Befehls SHIFT nicht mehr
wiederhergestellt werden.

Beispiel

Im folgenden Beispiel wird anhand der Datei MEIKOPIE.BAT demonstriert,
wie man den Befehl bei einer beliebigen Anzahl von Parameterm einsetzt. Die
Stapelverarbeitungsdatei dient dazu, eine Liste von Dateien in ein bestimmtes
Verzeichnis zu kopieren:

REM MEIKOPIE.BAT kopiert
REM eine beliebige Anzahl von Dateien
REM in ein Verzeichnis.
REM Der Befehl lautet:
REM MEIKOPIE VERZEICHNIS DATEIEN
:Eins
IF "%1" = "" GOTO Zwei
SET ZUVER = %1
SHIFT
COPY 81 %ZUVER%
GOTO Eins
:Zwei
SET ZUVER=
ECHO Erledigt !

Ende des Textes - Ende der Datei

Kurze Ergänzung zu batch.txt - v. K.-H. Mädler

1. betrifft Befehl "echo":

eine Leerzeile erzielt man am besten durch Eingabe eines absoluten
Leerzeichens (ASCII 255) nach dem Wort echo.
Beispiel: echo
(Das Zeichen ASCII 255 kann in diesem Text nicht dargestellt werden; auf
dem Bildschirm erscheint es als Leerzeichen.)

Ab DOS-Version 3.3 kann man durch Eingabe des Klammeraffens vor dem Befehl
"echo off" (ohne Leerraum dazwischen) erreichen, daß selbst die Zeile "echo
off" auch nicht mehr auf dem Bildschirm angezeigt wird.
Beispiel: @echo off


2. betrifft "call"-Befehl:

call: dient zum Aufruf einer Batchdatei in einer Batchdatei
(Unterprogramm). Erst ab MS-DOS 3.3 möglich. Bei Aufruf einer weiteren
Batchdatei muß die Erweiterung "bat" nicht angegeben werden.
Beispiel: In der autoexec.bat soll das Batchprogramm funktast.bat
aufgerufen werden, um die Funktionstasten selbst zu belegen. Die Angaben
zur Selbstbelegung der Funktionstasten sind natürlich in der Datei
funktast.bat gespeichert. In diesem Fall würde in der autoexec.bat-Datei
folgende Zeile stehen:
call funktast

ende der ergänzung. k.-h. mädler


DOS-Schleife

Der Befehl FOR bewirkt, daß ein Befehl auf eine Menge von Dateien angewendet
wird.

Syntax
FOR %%C IN Menge DO Befehl

Wirkungsweise
Die Variable C kann ein beliebiges Zeichen außer 0 bis 9 sein. Diese
Einschränkung ist erforderlich, um Verwechslungen mit den
Stapelverarbeitungsparametern %0 bis %9 zu vermeiden.

Menge ist ( Element*)

Der Variablen %%C wird nacheinander jeder in Menge enthaltene Wert
zugeordnet und mit diesen Werten jeweils das Ergebnis des Befehls ermittelt. Ist
eines der Elemente der Menge ein Ausdruck mit einem der Stellvertreterzeichen *
oder ?, dann wird der Variablen nacheinander jedes passende Element der Diskette
zugeordnet. In diesem Fall darf die Menge nur ein einziges solches Element
enthalten.

Beispiele

Im folgenden Beispiel wird die Variable %F allen im momentanen Verzeichnis
enthaltenen Dateien zugeordnet, die mit der Zeichenfolge *.ASM enden:

FOR %%F IN ( *.ASM ) DO MASM %%F
Dann wird ein Befehl mit folgendem Format ausgeführt:
MASM Dateiname
Der Dateiname kann einer der folgenden sein:
RECHNUNG.ASM
QUITTUNG.ASM
STEUERN.ASM

Im nächsten Beispiel wird die Variable %F den Dateien BERICHT, MTTLG
und ADRESSEN zugeordnet; die Dateien werden nacheinander gelöscht:

FOR %%F IN (BERICHT MTTLG ADRESSEN) DO DEL %%F

Im nächsten Beispiel werden alle PDF-Dateien mit dem Programm pdftotext in
Textdateien konvertiert.
Ren *.pdf *.
For %%f in (*.) do pdftotext -layout %%f %%f.txt
Ren *. *.pdf


Navigation:
Zurück zur Übersicht