Wir richten uns ein

E-Books


MS-DOS Kurs


4. Die AUTOEXEC.BAT

Stets wiederkehrende Befehlsfolgen können in DOS in speziellen Kommandodateien zusammengefaßt werden. Sie tragen den Typ BAT (von Batch) und werden deshalb auch Batch-Dateien oder Stapeldateien (aus dem Großrechner-Vokabular) genannt. An einem kleinen Beispiel sei das einmal demonstriert. Wir benutzen als Editor den COPY-Befehl, wie er bereits erläutert wurde. Sie können aber auch Ihren Hauseditor benutzen.
Folgende Kommandos dienen zum Festlegen eines kleinen Textfiles:

copy con text.bat
cls
ver
<CTRL><Z>

Abgeschlossen wird mit der Tastenkombination <CTRL>>Z>(<Strg><Z>). Die damit erzeugte Datei kann man sich mit
type test.bat
ansehen, und beim Aufruf mit dem Dateinamen
test
werden die enthaltenen Befehle automatisch ausgeführt. In diesem Falle wird der Bildschirm gelöscht und die DOS-Version angezeigt.
Auf diese Weise können beliebige Kommandos automatisch und wiederholt abgearbeitet werden. Etwas später geben wir eine ausführliche Darstellung der Möglichkeiten der Batch-Programmierung sowie nützliche Tips und Tricks. An diser Stelle soll nur eine ganz besondere Kommandodatei besprochen werden. Beim Systemstart sucht der Kommandointerpreter nach einer Datei mit dem Namen AUTOEXEC.BAT. Findet er sie nicht, so werden Datum und Zeit abgefragt, ist sie vorhanden, werden die enthaltenen Befehle abgearbeitet. Damit hat der Nutzer ein Mittel in der Hand, beim Start stets wiederkehrende Befehlsfolgen ausführen zu lassen. Eine typische AUTOEXEC.BAT (auch Start Up File genannt) könnte folgendes Aussehen haben:

echo off
breck on
verify on
ver
prompt $p$g
path c:\dos; c:\tools
append c:\dos; c:\tools
keybgr
date
time

Mit echo off wird die Protokollierfunktion (auch Echofunktion genannt) ausgeschaltet. Die folgenden Befehlszeilen erscheinen somit nicht mehr auf dem Bildschirm - wohl aber die durch sie erzeugten Ausgaben. Diese Anweisung dient nur der Erhöhung der Übersichtlichkeit. Am Ende der Batch-Datei schaltet sich das Echo automatisch wieder ein; wird der Befehl direkt von DOS aus gegeben, so muß es explizit mit echo on wieder eingeschaltet werden. Wird echo ohne Parameter eingegeben, zeigt der Bildschirm die gegenwärtige Schalterstellung an. Außerdem kann der Befehl echo dazu benutzt werden, um Nachrichten auf den Bildschirm auszugeben; eine Option, die nur in Stapeldateien einen Sinn ergibt. Versuchen Sie es einmal mit
echo alles roger Mit dem BREAK-Befehl (interner Befehl) wird festgelegt, wann die Tastenkombination <CTRL><BREAK> (bei den meisten Rechnern auch <CTRL><C>) zum Programmabbruch führen soll. Mit break off kann die Überprüfung abgeschlatet werden (was auch Standard ist). Genaugenommen wird die Auswertung der Unterbrechungstasten nicht völlig unterbunden; bei einigen Ein- und Ausgabeoperationen sind sie trotzdem noch wirksam. Das Einschalten wird mit break on erreicht. Diese Option ist besonders für Programmierer geeignet, die eventuell vorkommende Endlosschleifen abbrechen müssen. Voraussetzung ist aber, daß DOS-Systemrufe enthalten sind, denn nur dort findet eine Auswertung der Tastenkombination <CTRL><BREAK> (<Strg><Untbr>) statt. Beispielsweise läßt sich so auch während der Diskettenarbeit ein Abbruch erzielen (z.Bsp. während FORMAT).
Dem PROMPT-Befehl wird noch ein besonderer Abschnitt gewidmet. Kommen wir deshalb gleich zum PATH-Befehl. Dieser wird in kaum einer AUTOEXEC.BAT fehlen. Er legt fest, wo DOS nach Programmen suchen soll, die sich nicht im aktuellen Verzeichnis befinden. Beispielsweise möchte man Wordstar oder ein anderes Textverarbeitungsprogramm seines Vertrauens von jedem Textverzeichnis aus aufrufen können, aber (aus Platzgründen) nicht in jedes Verzeichnis kopieren. Gleiches gilt für die exteren DOS-Befehle. Wie Sie sich erinnern werden handelt es sich dabei um eigene Programme. Wollen Sie also den XCOPY oder den FORMAT-Befehl aufrufen, so muß DOS wissen, wo er zu finden ist - denn im aktuellen Verzeichnis ist er mit großer Wahrscheinlichkeit gerade nicht.
Zuerst wird stets im aktuellen Verzeichnis gesucht, dann der Reihe nach in den Verzeichnissen, die der PATH-Befehl angibt. Im Falle der hier als Beispiel gezeigten AUTOEXEC.BAT würden die Verzeichnisse DOS und TOOLS durchmustert werden. Erst wenn das Programm in allen Pfaden nicht gefunden wird, erscheint
Falscher Befehl oder Dateiname
Es kann auch auf verschiedenen Laufwerken gesucht werden, beispielsweise in den Wurzelverzeichnissen von A: und C: mit
path c:\;a:\ Üblicherweise wird man aber nur auf der Festplatte oder der Systemdiskette suchen lassen, um nicht auf leere Laufwerke oder falsch eingelegte Disketten zuzugreifen. Mit
path ohne Parameter wird der aktuelle Pfad angezeigt, und mit
path; wird der Pfad gelöscht.
Der PATH-Befehl ist ein sehr wertvoller Befehl, es sei aber auch nicht verschwiegen, daß sich bei einem langen PATH die Ladezeiten verlängern. Nicht zu vergessen ist, daß mit PATH nur ein Suchpfad für ausführbare Programme (der Typen COM, EXE und BAT) festgelegt werden kann. Insbesondere mit nachladbaren Programmteilen (sogenannte Overlays), die nicht gefunden wurden, gibt es Probleme. Deshalb steht ab Version 3.20 der zusätzliche Befehl APPEND zur Verfühgung. Im oben gezeigten Beispiel der AUTOEXEC.BAT sind beide Pfade identisch, es ist aber auch möglich, zwei verschiedene Suchpfade zu definieren, wenn Programmdateien und Nicht-Programmdateien in gesonderten Verzeichnissen stehen. Die Verwendung des APPEND-Befehls erfolgt analog dem PATH-Befehl. Ohne Parameter aufgerufen, zeigt er den aktuellen Suchpfad an, und mit
append; wird der Pfad gelöscht. Es sei noch darauf verwiesen, daß PATH ein interner Befehl ist, während es sich bei APPEND um einen externen handelt.
Mit KEYB GR wird der deutsche Tastaturtreiber installiert; Standard ist die amerikanische Belegung. Sie werden das zuerst an der Lage des Doppelpunktes bemerken, der zum Umstellen der Laufwerke benötigt wird. Die amerikanische Tastatur kann mit der Tastenkombination <CTRL><ALT><F1> jederzeit wieder aktiviert werden, mit <CTRL><ALT><F2> gelangt man zurück zur deutschen Belegung. Mit einer anderen Landeskennung können auch weitere Tastaturtreiber anderer Länder geladen werden; nur die jeweils letzten beiden sind aber aktivierbar. Vor der DOS-Version 3.30 war die Handhabung für landessprachliche Tastaturtreiber etwas anders. Hier existierte für jedes Land ein eigener Treiber. Der entsprechende Befehl heißt:
keybgr
Äußerlich besteht der Unterschied nur im fehlenden Leerzeichen, in Wirklichkeit existiert hier für jedes Land ein eigenes Kommando, während ab DOS 3.30 die Landeskennung nur ein Parameter für KEYB ist, der die jeweiligen Zeichensätze aus einer Datei holt.
Da die Datei AUTOEXEC.BAT eine ganz normale Batch-Datei ist, die sich nur durch ihren Namen auszeichnet, kann sie auch jederzeit durch Aufruf mit dem Namen
autoexec
gestartet werden. Umgekehrt können alle Befehle, die in ihr enthalten sind, auch einzeln auf Kommandoebene angewendet werden bzw. können beliebige andere DOS-Kommandos oder Programme in die AUTOEXEC.BAT geschrieben werden. Sollen beim Systemstart alle .BAK-Dateien gelöscht werden, so könnte das mit
del *.bak
in der AUTOEXEC.BAT geschehen. Beliebt ist die Möglichkeit, beim Systemstart gleich ein Programm aufzurufen. Wenn sie stets mit dBase arbeiten, so können sie als letzten Befehl dbase einfügen und gelangen beim Einschalten automatisch in das Anwenderprogramm. Zur Unterstützung unbedarfter Nutzer ist dies sehr hilfreich, da keine DOS-Kenntnisse nötig sind. Nach dem Studium dieses Materials wird das aber für Sie wohl überflüssig sein.

(c) Jürgen Richter