Besondere Befehle zur DOS-Batchprogrammierung 

%1 %2 % 3 ...
siehe --» Parameter. 

/ == %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



<
--» Einleitungszeichen, der Inhalt einer Datei kann z.B. einen Befehlsaufruf ergänzen.
Beispiel: del C:\TEMP\*.* < J.DAT --» Dieser Befehl in der AUTOEXEC.BAT bewirkt, daß bei jedem Neustart eines Computers alle Dateien des Verzeichnisses TEMP auf dem Laufwerk C: gelöscht werden. Normalerweise muß die folgende Rückfrage beantwortet werden mit "J" oder "N". In diesem Fall wird der Vorgang automatisiert und die J.DAT "antwortet". In der J.DAT schreiben Sie zwei Zeichen: J gefolgt von einem RETURN.



CALL
Mit diesem Befehl haben Sie die Möglichkeit, innerhalb einer Stapeldatei eine andere Stapeldatei als Unterprogramm aufzurufen. Das kann auch ohne CALL geschehen, allerdings kehrt die aufgerufene Batchdatei nach der Ausführung zur aufrufenden Batchdatei zurück.
Beispiel: CALL C:\MICHAEL\BEISPIEL.BAT --» die Stapeldatei, die sich im Verzeichnis C:\MICHAEL befindet, wird aufgerufen. Ergänzend könnten --» Parameter übergeben werden. 

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.



SET
Mit dem SET-Befehl können Umgebungsvariable des Betriebssystem belegt werden, die dann zur Steuerung von Programmaufrufen benutzt werden können.
Beispiel: SET raum=017 --» die Umgebungsvariable %raum% hat den Wert "017". In einer anderen Verstapelarbeitungsdatei könnte dann stehen:
IF %raum%==017 GOTO marke1
IF %raum%==015 GOTO marke2
goto meldung
--» siehe auch Umgebungsvariablen


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.


Dk