BAT-Datei

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Microsoft Batch)
Wechseln zu: Navigation, Suche

Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Entwickler fehltVorlage:Infobox Dateiformat/Wartung/Standard fehltVorlage:Infobox Dateiformat/Wartung/Website fehlt

Stapelverarbeitungsdatei
Windows Batch
Batch file
BatchIcon2.jpg
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.

Siehe auch [Bearbeiten]

Weblinks [Bearbeiten]