BAT-Datei
| Stapelverarbeitungsdatei Windows Batch Batch file |
|
|---|---|
| Dateiendung: | .BAT, .cmd |
| Erstveröffentlichung: | 1981 mit PC DOS 1.0 |
| Art: | Stapelverarbeitung |
| Erweitert von: | Unix-Shell |
| Erweitert zu: | Windows PowerShell |
Eine .BAT-Datei (von engl. batch) ist eine Stapelverarbeitungsdatei, welche in PC-kompatible DOS-Betriebssystemen, OS/2 und Microsoft Windows ausgeführt werden kann.
Inhaltsverzeichnis |
Technische Details und Geschichte [Bearbeiten]
Das Dateiformat besteht aus Textdateien, welche von einem Kommandozeileninterpreter als Stapelverarbeitung ausgeführt werden kann. Der Kommandozeileninterpreter von den meisten PC-kompatiblen DOS-Betriebssystemen wie MS-DOS, PC DOS oder DR-DOS ist COMMAND.COM, der von Windows NT ist cmd.exe.
Als Laufzeitumgebung und Interpreter wird der Kommandozeileninterpreter verwendet. Daher lassen sich alle Kommandozeilenbefehle in der Regel auch aus einem Stapelverarbeitungsskript heraus ausführen. Des Weiteren sind auch Kommentare, Sprungmarken und Abfragen verwendbar.
Die meisten Befehle von COMMAND.COM werden von cmd.exe nachgebildet. Daher ist es möglich, dass ein für MS-DOS geschriebenes Stapelverarbeitungsskript unter Windows NT ausführbar ist.
Bei Microsoft wird eine Textdatei zur Stapelverarbeitung, indem sie die Dateinamenserweiterung .bat oder unter Windows NT alternativ die Dateinamenserweiterung .cmd erhält. Solche Dateien werden automatisch vom Kommandozeileninterpreter abgearbeitet, wenn sie mit ihrem Namen aufgerufen werden.
Im Jahr 2006 wurde ein potenzieller Nachfolger der Kommandozeilen-Laufzeitumgebung unter dem Namen Windows PowerShell von Microsoft veröffentlicht, mit dem Skripte in der eigens dafür entwickelten PowerShell Scripting Language geschrieben werden können.
Verwendung (DOS) [Bearbeiten]
In MS-DOS war der Übergang zwischen Kommandozeile und Batch-Dateien, die in erster Linie die Systemverwaltung flexibel regeln sollten, nahezu fließend, da dieselben Befehle benutzt wurden. Für Konfigurationen des Benutzers benötigte MS-DOS unter anderem die Datei AUTOEXEC.BAT, die während des Boot-Vorganges ausgeführt wurde.
Windows 3.x arbeitet beim Start die Datei WINSTART.BAT ab.
Verwendung (Windows) [Bearbeiten]
Unter Windows werden Batch-Skripte vor allem zur Ausführung von immer wiederkehrenden Befehlsfolgen verwendet (z. B. für automatisierte Anmeldevorgänge). Es ist auch möglich, die Ausführung einzelner Befehlszeilen von einer Bedingung abhängig zu machen. Dafür gibt es Konstrukte wie IF oder IF NOT. Unter Windows-NT-basierten Systemen gab es außerdem die so genannte Befehlserweiterung, welche insbesondere die IF- und FOR-Befehle stark aufwerteten, indem sie zum Beispiel Vergleiche von Werten anboten. Neben diesen Bedingungsoperatoren können auch Variablen genutzt, Sprünge ausgeführt, Benutzereingaben realisiert und Kommentare geschrieben werden.
Beispiele [Bearbeiten]
Die Ausgabe des klassischen Hello-World-Beispiels lässt sich auch durch eine Batchdatei erzeugen. Diese sollte zuvor unter geeignetem Dateinamen z.B. Hello.bat gespeichert werden.
@echo off echo Hello World! pause
Ein für die Programmierpraxis nützliches Beispiel ist das folgende
dir /B /S *.~??* | find "\src" > temp-files.txt
Es erstellt eine Liste aller Dateien eines Verzeichnisbaums, die in src-Unterverzeichnissen liegen und die als Backup mit einer Tilden-Markierung in der Dateiendung gespeichert wurden (wie bei manchen Texteditoren üblich). Hier werden das interne Kommando DIR zur Suche und das externe Kommando FIND zum Filtern eingesetzt. Die Dateiliste wird in einer Textdatei namens temp-files.txt gespeichert.