Batch-Datei erstellen: So schreiben Sie Ihre eigene Bat-Datei

Die cmd.exe, auch als Eingabeaufforderung bekannt, zählt zu Windows ältesten Software-Komponenten. Das Kommandozeilen-Tool bietet seit Jahrzehnten die Möglichkeit, direkte Änderungen an Microsoft-Betriebssystemen vorzunehmen. Eng an die Eingabeaufforderung geknüpft sind die sogenannten Batch-Dateien (auch Bat-Dateien), die mit betriebseigenen Befehlen auf die cmd.exe zurückgreifen und Befehle stapelweise verarbeiten können. Wir verraten Ihnen, was genau diese nützlichen Skripteauszeichnet,und wie Sie selbst eine solche Batch-Datei erstellen, speichern und ausführen können.

Was ist eine Batch- bzw. Bat-Datei?

Eine Batch-Datei (auch Bat-Datei, Batch-Skript oder Stapelverarbeitungsdatei) ist eine Textdatei, die vom Windows-Kommandozeilen-Tool cmd.exe als Stapelverarbeitung ausgeführt werden kann. Die Eingabeaufforderung übernimmt dabei sowohl die Rolle des Interpreters als auch die Rolle der Laufzeitumgebung. Vereinfacht gesagt handelt es sich also um ein Computerprogramm bzw. ein Skript, dessen Daten bzw. Aufgaben nacheinander über die Eingabeaufforderung verarbeitet werden.

Hinweis

Der Begriff „Stapelverarbeitung“ stammt aus den Anfangszeiten der Datenverarbeitung, in denen eine interaktive Verarbeitung noch unmöglich war. Die zu verarbeitenden Datensätze lagen damals üblicherweise in Form von Lochkarten – den Speichermedien dieser Zeit – vor, die als Stapel (engl. batch) Karte für Karte abgearbeitet wurden. In modernen Computer-Betriebssystemen ist der Begriff vor allem im Zusammenhang mit der Veröffentlichung von MS-DOS (1981) und den hier thematisierten Batch-Dateien bekannt geworden.

Mit der cmd.exe als Interpreter und Laufzeitumgebung erlauben Batch-Dateien die Nutzung und Ausführung gewöhnlicher CMD-Befehle. Außerdem können Sie beim Batch-Datei-Schreiben unter anderem Kommentare, Sprungmarken, Variablen, Bedingungen und Abfragen verwenden. Damit sich Textdateien in Batch-Dateien umwandeln lassen, müssen Sie ihnen in neueren Microsoft-Systemen die Dateiendung .bat anhängen. Unter Windows NT und OS/2 war die Endung .cmd üblich.

Batch-Datei erstellen: Schritt-für-Schritt-Tutorial

Eigene Bat-Dateien zu erstellen ist dann sinnvoll, wenn Sie es mit immer wiederkehrenden Befehlsfolgen zu tun haben, deren Ausführung Sie automatisieren möchten. Dabei kann es sich beispielsweise um Anmeldevorgänge handeln oder um das Starten sogenannter TSR-Programme (terminate and stay resident), die permanent als Hintergrundprozesse laufen sollen. In den folgenden Abschnitten erklären wir, welche Tools Sie für die Bat-Erstellung benötigen und wie genau Sie eigene Stapelverarbeitungsdateien erstellen, speichern und ausführen können.

Schritt 1: Editor wählen und starten

Wie bereits erwähnt liefern Textdokumente eine geeignete Basis für Batch-Skripte. Um eine eigene Bat-Datei zu schreiben, benötigen Sie daher lediglich einen gewöhnlichen Texteditor. Da Sie Features wie Syntaxhervorhebung nicht wirklich brauchen, ist der standardmäßig in Windows enthaltene Microsoft Editor (kurz Editor), der auch unter dem englischen Originalnamen Notepad bekannt ist, vollkommen ausreichend. Um diesen zu öffnen, geben Sie einfach den Begriff „Notepad“ bzw. „Editor“ in die Windows-Suche ein und klicken danach auf das entsprechende Icon in den Suchergebnissen:

Schritt 2: Mit Batch-Befehlen vertraut machen

Wer Batch-Dateien erstellen möchte, der muss keine komplizierte Programmiersprache lernen. Wissen über die gängigen Systemkommandos und deren Funktionalität in Batch-Dateien ist jedoch unverzichtbar, weshalb Sie sich zunächst mit einigen Befehlen vertraut machen sollten, bevor Sie sich an Ihr erstes eigenes Skript wagen. Zu den wichtigsten Kommandos, die man in jedem Fall beherrschen sollte, zählen folgende:

  • ECHO: Schaltet den Ausgabetext für ausgeführte Kommandos auf dem Bildschirm an
  • @ECHO OFF: Schaltet den Ausgabetext für ausgeführte Kommandos auf dem Bildschirm aus
  • START: Führt eine Datei mit der jeweiligen Standardanwendung aus
  • REM: Kennzeichnet eine Kommentarzeile
  • MKDIR/RMDIR: Erstellt bzw. löscht ein Verzeichnis
  • DEL: Löscht ausgewählte Datei(en)
  • COPY: Kopiert ausgewählte Datei(en)
  • TITLE: Bearbeitet den Titel des CMD-Fensters
Hinweis

Eine ausführliche Auflistung der wichtigsten Kommandos finden Sie in unserem umfangreichen Artikel zum Thema „Batch-Befehle“.

Schritt 3: Eine erste Batch-Datei erstellen und speichern

Ein sehr einfacher Einstieg in die Kunst des Batch-Datei-Schreibens ist die Kreation eines simplen Skripts, das gleich mehrere Verzeichnisse auf einem gewählten Datenträger Ihres Systems anlegt. Erstellen Sie beispielsweise eine Bat-Datei mit folgendem Input, erzeugt diese nach der Ausführung auf dem Laufwerk C: zwei Verzeichnisse namens „Beispiel1“ und „Beispiel2“:

MKDIR C:\Beispiel1
MKDIR C:\Beispiel2

Kopieren Sie die beiden Zeilen einfach in ein geöffnetes, leeres Notepad-Dokument wie es in folgendem Screenshot zu sehen ist:

Um diese Bat-Anweisungen bzw. das Skript dann zu speichern, klicken Sie auf „Datei“ und wählen den Menüpunkt „Speichern unter…“ aus. Geben Sie den gewünschten Speicherort an und tragen Sie einen passenden Namen für das Skript – inklusive der Dateiendung .bat – in das Feld „Dateiname“ ein:

Schritt 4: Erstelltes Bat-Skript ausführen

Nachdem Sie die Bat-Datei erstellt und als solche gespeichert haben, haben Sie zwei Möglichkeiten, diese auszuführen: Entweder Sie starten das Skript im bekannten Windows-Explorer-Umfeld oder Sie öffnen die Eingabeaufforderung und starten es über einen passenden Kommandozeilen-Befehl.

Dabei ist erstgenannte Variante die einfachere und einsteigerfreundlichere, denn Sie müssen lediglich in das Verzeichnis navigieren, in dem sich die Batch-Datei befindet, und diese dann per Doppelklick starten.

Hinweis

Enthält ein Batch-Skript Kommandos, deren Ausführung Administratoren-Rechte voraussetzt, müssen Sie es auch als Administrator starten. In diesem Fall wählen Sie die Stapelverarbeitungsdatei per Rechtsklick aus und drücken dann auf die Schaltfläche „Als Administrator ausführen“.

Wollen Sie die Batch-Datei stattdessen über die Kommandozeile öffnen, gehen Sie folgendermaßen vor:

  1. Rufen Sie die Windows-Suchfunktion auf und tippen Sie dort „cmd“ ein.
  2. Klicken Sie per Linksklick auf „Eingabeaufforderung“, um die Kommandozeile normal zu starten. Wählen Sie diese per Rechtsklick aus und drücken Sie anschließend auf „Als Administrator ausführen“, falls Sie Administratoren-Rechte benötigen.
  3. Wechseln Sie per „change directory“-Befehl (cd) in das Verzeichnis, in dem sich die Batch-Datei befindet.
  4. Tippen Sie den Namen des Batch-Skripts (inklusive der Dateiendung) ein und drücken Sie die Eingabetaste.

Schritt 5: Erstellte Batch-Dateien nachträglich bearbeiten

Sie können ein erstelltes Bat-Skript jederzeit anpassen, wenn Sie beispielsweise weitere Befehle hinzufügen bzw. vorhandene Kommandos entfernen oder Verzeichnisse ändern wollen. Rufen Sie zu diesem Zweck einfach den Ordner auf, in dem sich das Kommandozeilen-Skript befindet und klicken Sie es per Rechtsklick an. Anschließend wählen Sie die Option „Bearbeiten“:

Beispiele für häufiger nutzbare und komplexere Batch-Skripte

Mit der zuvor aufgezeigten Schritt-für-Schritt-Anleitung lassen sich die verschiedensten Batch-Dateien erstellen – unabhängig davon, welche oder wie viele Systemkommandos enthalten sind. Der Nutzen eines erstellten Skripts steigt dabei zweifelsohne mit der Häufigkeit, mit der es sich einsetzen lässt. Abschließend sollen daher zwei Beispiele für Batch-Dateien mit langfristigem Wert die Möglichkeiten der Stapelverarbeitung via Windows-Kommandozeile verdeutlichen.

Batch-Skript mit einfachem Back-up-Mechanismus

Wie praktisch Batch-Dateien sein können, beweist folgendes Beispiel, mit dem Sie ganz einfach regelmäßige Back-ups eines beliebigen Verzeichnisses anfertigen lassen können:

XCOPY C:\Ausgangsverzeichnis C:\Back-up-Verzeichnis /m /e /y

Wenn Sie eine Batch-Datei erstellen und ausführen, die oben abgebildete Zeile enthält, kopieren Sie den Inhalt durch den Befehl „XCOPY“ aus dem „Ausgangsordner“ in den „Back-up-Ordner“ – die Verzeichnisse, in denen sich diese beiden Ordner befinden, sind natürlich entsprechend anzupassen. Die drei angehängten Parameter bewirken dabei Folgendes:

  • /m: sorgt dafür, dass nur aktualisierte Dateien kopiert werden, damit bereits gesicherte Dateien bei weiteren Back-up-Vorgängen nicht erneut kopiert werden müssen.
  • /e: gibt an, dass beim Back-up auch sämtliche Unterverzeichnisse im angegebenen Verzeichnis berücksichtigt werden.
  • /y: unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei (an der seit dem letzten Back-up Änderungen vorgenommen wurden) überschrieben werden soll.

Batch-Datei mit komplexerer Back-up-Funktion

Das voranstehende Back-up-Programm ermöglicht das Kopieren der Ausgangsdateien vom Ausgangsordner in den Zielordner. Sie können aber auch eine Bat-Datei erstellen, die den Originaldatenbestand auf mehrere Zielordner verteilt, wobei zum Beispiel der Dateityp als Auswahlkriterium dienen kann. Zu diesem Zweck benötigen Sie die sogenannte FOR-Schleife, die die mehrfache Ausführung eines Befehls mit einem variablen Argument ermöglicht:

cd C:\Ausgangsverzeichnis
FOR %%f IN (*.doc *.txt) DO XCOPY C:\Ausgangsverzeichnis"%%f" C:\Back-up-Verzeichnis\Texte /m /y
FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:\Ausgangsverzeichnis "%%f" C:\Back-up-Verzeichnis\Bilder /m /y

Der aufgeführte Batch-Befehlscode sorgt dafür, …

  • dass sämtliche Dateien im Ausgangsverzeichnis mit den Endungen .doc und .txt in den Back-up-Ordner „Texte“ verschoben werden
  • sämtliche Dateien im Ausgangsverzeichnis mit den Endungen .jpg, .png und .bmp in den Back-up-Ordner „Bilder“ verschoben werden
  • immer nur aktualisierte Dateien kopiert werden
  • die Bestätigungsaufforderung immer unterdrückt wird
Hinweis

Das Skript funktioniert nur bei Dateien, deren Dateinamen deklarierteEndungen haben – andernfalls werden entsprechende Dokumente bei der Stapelverarbeitung nicht erkannt, selbst wenn sie eigentlich ein passendes Format aufweisen.


Auf dem Laufenden bleiben?

Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!