/ == %1/
Innerhalb einer --» IF-Anweisung kann man durch einen kleinen
Trick überprüfen, ob ein beliebiger Parameter überhaupt
eingegeben wurde. Dies ist besonders dann wünschenswert, wenn man
die genaue Anzahl einzugebender Parameter vorher nicht genau festlegen
kann. Hierzu vergleicht man einfach den Parameter, den man überprüfen
will, mit einem beliebigen Symbol, beispielsweise dem Schrägstrich
(/). Dafür muß man einmal den Parameter und den Schrägstrich
als Zeichenkette zusammensetzen:
Beispiel: IF /==%1/ GOTO leereingabe
--» Ist der Parameter leer, steht auf der linken Seite genauso
wie auf der rechten Seite der Schrägstrich alleine, und
somit ist die Bedinung erfüllt, die Stapeldatei wird hinder der
--» Marke ":leereingabe" fortgesetzt.
:michael
siehe --» Marke.
@
Beispiel: @GRAFTABLl --» Die Meldung "GRAFTABL" beim Laden
der Zeichensatztabelle wird unterdrückt. Wenn das "@"-Zeichen vor
einen Befehl in der Stapeldatei gesetzt wird, hat das für den einzelnen
Befehl die gleiche Wirkung wie --» ECHO OFF für alle Befehle.
(Anm.: Mit "GRAFTABL" wird eine Tabelle der --» ASCII-Zeichen 128
- 255 in den Hauptspeicher geladen.)
@ECHO OFF --» verhindert, daß die Meldung "ECHO OFF" angezeigt
wird.
>
--» Umleitungszeichen, Bildschirmausgaben können
CLS
CLS --» Löscht den Bildschirm ("Clear Screen") und setzt
den Cursor in die erste Zeile, erste Spalte
ECHO
ECHO ON --» bewirkt die Anzeige des gerade aktiven Stapelkommandos.
Das ist auch die Voreinstellung von MS-DOS.
ECHO OFF --» unterdrückt diese Anzeige.
ECHO --» gibt die dem Leerzeichen folgenden Meldungen auf dem
Bildschirm aus, zum Beispiel Hinweise und Hilfen für Benutzer, unabhängig
davon, ob "ECHO" auf "ON" oder "OFF" steht. Es muß mindestens ein
Zeichen eingegeben werden.
FOR .. DO
Mittels des FOR-Kommandos sind Sie in der Lage, innerhalb eines Batchjobs
ein Kommando mehrfach zu wiederholen und dabei einer Variablen (Platzhalter)
verschiedene vordefinierte Werte zuzuordnen.
Syntax: FOR %%<Variable> IN (<Menge>) DO <Kommando>
--» <Variable> ist ein beliebiges Zeichen (außer %,
<, >, |, Ziffern 1 - 9). Die Variable nimmt der Reihe nach alle Werte
an, die in <Menge> definiert sind.
--» <Menge> ist ein Dateiname, eine Liste von Dateinamen,
eine Dateiselektion (mit Jokern) oder eine Liste von beliebigen Texten
- Innerhalb des Klammernpaares sind die verschiedenen Einträge jeweils
durch Leerzeichn voneinander zu trennen;
--» <Kommando> ist ein beliebiges unter DOS erlaubtes Kommando
(natürlich auch der Name eines Anwenderprogrammes) mit Ausnahme einer
weiteren FOR...DO-Anweisung.
Beispiel: FOR %%a IN (1 2 3 4 5 6 7 8 9 10) DO echo %%a --»
alle Zahlen von 1 bis 10 werden auf dem Bildschirm untereinander ausgegeben.
GOTO
GOTO --» dient innerhalb von Stapeldateien zur Steuerung von
Programmverzweigungen (Sprüngen) und zur Schleifenbildung.
GOTO ende --» Das Programm wird mit dem / den Befehl(en) fortgesetzt,
die der --» Marke ":ende" folgen.
IF
Syntax: IF [NOT] <Bedingung> <Befehl> --» erlaubt
ähnlich wie der --» GOTO-Befehl Schleifenbildung. Das Kommando,
das der IF-Anweisung und deren Bedingung folgt, wird nur dann ausgeführt,
wenn die getestete Bedingung wahr ist (zutrifft), andernfalls wird das
unmittelbar folgende Kommando übersprungen. Es gibt verschiedene Bedingungen,
die innerhalb einer IF-Anweisung abgetestet werden können:
a) EXIST <Dateiname>, Beispiele:
IF EXIST TEST.TXT GOTO ja --» Wenn die Datei "TEST.TXT" existiert,
werden die Befehle hinter der --» Marke ":ja" ausgeführt.
IF NOT EXIST TEST.TXT GOTO nein --» Wenn die Datei "TEST.TXT"
existiert, werden die Befehle hinter der --» Marke ":nein" ausgeführt.
b) == (zwei Gleichheitszeichen) Zeichenketten vergleichen, z.
B.
IF michael == %1 GOTO ok --» Wenn der beim Aufruf der Stapeldatei
mit eingegebene Name gleich "michael" ist (Groß- und Kleinschreibung
werden wie immer bei MS-DOS nicht unterschieden), werden die Befehle hinter
der --» Marke ":ok" fortgesetzt, sonst wird der folgende Stapelbefehl
ausgeführt.
Joker-Zeichen sind
zwei mögliche Zeichen: ? (Fragezeichen) und * (Stern, auch Asteriks
genannt). Das ? in einem --> Dateinamen bedeutet, daß an dieser Stelle
des eingegebenen Dateinamens jedes beliebige zulässige Zeichen stehen
darf. Der * ersetzt ersetzt eine ganze Gruppe von Zeichen im Dateinamen,
z. B. COPY *.TXT A: . Intern wird er durch das Fragezeichen ersetzt. Dabei
wird beginnend
mit der Position, an der der Stern plaziert wurde, bis zum Ende ( 8.
bzw. 3. Position) der Dateiname mit Fragezeichen aufgefüllt.
Marke
Mit Hilfe des GOTO-Befehls besteht die Möglichkeit, vorwärts
und rückwärts innerhalb einer Stapeldatei zu springen. Die Namen
der Marken können beliebig lang sein, doch sind ausschließlich
die ersten acht Zeichen relevant. Eine Marke muß
alleine in einer Zeile stehen, es dürfen also keine Kommandos
folgen, und sie muß durch einen Doppelpunkt eingeleitet werden.
Beispiel: :michael --» Marke mit den Namen "michael".
Es folgen bestimmte Stapelbefehle.
Parameter
Mit dem Aufruf einer Stapeldatei können gleichzeitig verschiedene
Werte (9 - 15) übergeben werden. Der Name der Stapeldatei und die
einzelnen Werte müssen jeweils durch ein einzelnes Leerzeichen voneinander
getrennt sein.
Beispiel: PROGRAMM michael basic --» Die Stapeldatei "PROGRAMM.BAT"
wird aufgerufen, als erster Parameter ("%1") wird "michael", als zweiter
("%2") "basic" übergeben. Die Stapeldatei könnte nun mit "CD
%1" (= CD michael) in das Verzeichnis "michael" wechseln und anschließend
dort das Programm "%1" (basic) aufrufen.
PATH-Befehl
Der PATH (Suchpfad) wird in die AUTOEXEC.BAT geschrieben.
Beispiel: PATH=C:\WINDOWS;C:\DOS;C:\TOOLS
Die Dateien der im PATH-Befehl aufgeführten Verzeichnisse können
ohne Pfadangabe aufgerufen werden. Das System prüft im ersten angegebenen
Verzeichnis, ob die Datei dort vorhanden ist, dann im zweiten usw. Die
Verzeichnisse, auf die häufig zugegriffen wird, sollten also an vorderer
Stelle stehen.
SET PATH=irgendwas --» Der Pfad wird neu gesetzt.
SET PATH=%PATH%;C:\ISDN --» Der alte Pfad (in der Umgebungsvariablen
%PATH% enthalten) wird um das Verzeichnis C:\ISDN erweitert.
PAUSE
PAUSE --» unterbricht an der Stelle den Ablauf einer Stapeldatei.
Es erscheint die Meldung in englisch oder deutsch "Wenn bereit, eine Taste
betätigen". Wenn eine beliebige Taste gedrückt wird, wird die
Stapeldatei weiter abgearbeitet.
REM
REM --» dient zur Angabe von Bemerkungen innerhalb einer Stapeldatei,
die nicht auf dem Bildschirm erscheint. Mit Hilfe solcher Bemerkungen lassen
sich Dateien kommentieren oder optisch untergliedern.
Stapeldatei
dt. Begriff für Batchdatei. Sie enthält eine beliebige Anzahl
von DOS-Befehlen, die nacheinander ausgeführt, abgearbeitet werden,
sozusagen wie von einem Stapel. Beim PC erkennen Sie die Stapeldateien
an der Dateikennung "BAT", z. B. "AUTOEXEC.BAT". Eine Stapeldateie ist
immer dann sinnvoll, wenn verschieden Prozeduren hintereinander abgearbeitet
werden müssen. Sie hat zwei Vorteile: Sie müssen einerseits nicht
alle Befehle eingeben, sondern ledigliech den Namen der Batchdatei (ohne
Erweiterung) plus --» Parameter und brauchen außerdem während
der Ausführung des Stapels nicht anwesend zu sein. Die wohl bekannteste
Stapeldatei ist die Datei "AUTOEXEC.BAT", die beim Booten des Systems automatisch
geladen und gestartet wird. Hier können für den Benutzer / die
Benutzerin passende Einstellungen am Computer und am DOS vorgenommen sowie
ein spezielles Programm gestartet werden, so daß der Computer auch
ohne DOS-Kenntnisse nur durch Einschalten des Rechners gestartet werden
kann.
Umgebungsvariablen
--» siehe auch SET
Wenn in in einem DOS-System sehr viele Umgebungsvariablen gesetzt werden,
muß mehr Speicher im RAM dafür reserviert werden. In der CONFIG.SYS
sieht der entsprechende Befehl folgendermaßen aus:
SHELL=C:\COMMAND.COM /e:1024 --» Der Speicherbereich für
Umgebungsvariablen im RAM wird von standardmäßig 256 Bytes auf
1.024 Bytes vergrößert.
VER - MS-DOS-Version
ver --» Anzeige der MS-DOS-Versionsnummer.