BAT-Datei (Batch-Datei) erstellen: So geht’s in Windows 11 und 10

BAT-Datei erstellen in Windows 11 und 10: Erfahren Sie, wie Sie eine Batch-Datei mit dem Texteditor anlegen, richtig speichern und erfolgreich ausführen.

BAT-Datei (Batch-Datei) erstellen: So geht’s in Windows 11 und 10

Eine BAT-Datei (Batch-Datei) ermöglicht es Ihnen, mehrere Windows-Befehle automatisch hintereinander auszuführen. Statt dieselben Schritte täglich manuell zu wiederholen, genügt künftig ein Doppelklick.

Dieser Artikel zeigt Ihnen Schritt für Schritt, wie Sie eine BAT-Datei in Windows 10 und Windows 11 erstellen, bearbeiten und sinnvoll einsetzen – von den Grundlagen bis zu praktischen Beispielen.

Was ist eine BAT-Datei überhaupt?

Eine BAT-Datei – kurz für Batch-Datei – ist eine einfache Textdatei mit der Dateiendung .bat. Sie enthält eine Abfolge von Befehlen, die Windows in der Eingabeaufforderung (cmd.exe) der Reihe nach verarbeitet. Der Begriff „Batch“ stammt aus dem Englischen und bedeutet sinngemäß „Stapelverarbeitung“.

Bereits seit den frühen DOS-Zeiten sind Batch-Dateien ein wichtiges Werkzeug für Anwender und Systemadministratoren. Deshalb funktionieren sie heute noch genauso wie damals – sowohl unter Windows 10 als auch unter Windows 11.

Typische Einsatzbereiche sind außerdem:

  • Automatisches Kopieren und Verschieben von Dateien
  • Regelmäßige Datensicherungen ohne zusätzliche Software
  • Systempflege, etwa das Leeren des Papierkorbs oder des Temp-Ordners
  • Netzwerkdiagnosen, zum Beispiel Ping-Tests oder IP-Konfigurationsabfragen
  • Programmstarts, bei denen mehrere Anwendungen gleichzeitig geöffnet werden sollen

Zudem eignen sich BAT-Dateien hervorragend als Einstieg in die Windows-Automatisierung – einfacher und zugänglicher als PowerShell-Skripte oder andere Skriptsprachen.

BAT-Datei erstellen: Die Schritt-für-Schritt-Anleitung

Das Erstellen einer BAT-Datei erfordert keine zusätzliche Software. Allerdings sollten Sie auf eine wichtige Einstellung achten: Dateinamenerweiterungen müssen sichtbar sein, damit Sie die Endung .bat korrekt vergeben können.

Schritt 1: Dateinamenerweiterungen einblenden

Standardmäßig blendet Windows bekannte Dateiendungen aus. Deshalb müssen Sie diese zuerst einschalten:

  1. Öffnen Sie den Windows-Explorer (Tastenkombination: Win + E).
  2. Klicken Sie in Windows 11 oben auf „Ansicht“, dann auf „Anzeigen“ und schließlich auf „Dateinamenerweiterungen“. In Windows 10 wählen Sie stattdessen das Menü „Ansicht“ und setzen dort den Haken bei „Dateinamenerweiterungen“.
  3. Anschließend sehen Sie bei allen Dateien die vollständige Endung, also zum Beispiel dokument.txt statt nur dokument.

Schritt 2: Eine neue Textdatei anlegen

Navigieren Sie nun in den Ordner, in dem Ihre BAT-Datei gespeichert werden soll. Klicken Sie dort mit der rechten Maustaste auf eine freie Fläche und wählen Sie „Neu“„Textdokument“. Windows legt daraufhin eine Datei namens Neue Textdatei.txt an.

Wichtig: Benennen Sie die Datei sofort um. Löschen Sie dabei den gesamten Dateinamen inklusive der Endung .txt und ersetzen Sie ihn durch Ihren gewünschten Namen mit der Endung .bat, zum Beispiel mein-skript.bat. Windows zeigt eine Warnmeldung, dass sich die Datei durch die Umbenennung ändern könnte – bestätigen Sie diese mit „Ja“.

Schritt 3: Inhalt mit dem Editor bearbeiten

Klicken Sie jetzt mit der rechten Maustaste auf Ihre neu erstellte BAT-Datei und wählen Sie „Mit Editor öffnen“ (oder in Windows 11: „Weitere Optionen anzeigen“„Öffnen mit“„Editor“). Alternativ können Sie auch den Editor (Notepad) zuerst öffnen und danach die Datei über „Datei“„Öffnen“ auswählen.

Tragen Sie nun Ihre Befehle ein – einen pro Zeile. Ein einfaches Beispiel:

@echo off
echo Hallo! Das Skript läuft.
pause

Speichern Sie anschließend mit der Tastenkombination Strg + S.

Schritt 4: BAT-Datei ausführen

Doppelklicken Sie auf Ihre Datei, um sie auszuführen. Windows öffnet daraufhin ein Eingabeaufforderungsfenster und verarbeitet die Befehle nacheinander. Möchten Sie die Datei mit Administratorrechten ausführen – was für bestimmte Systembefehle notwendig ist –, klicken Sie stattdessen mit der rechten Maustaste auf die Datei und wählen „Als Administrator ausführen“.

Den richtigen Editor verwenden

Grundsätzlich reicht der Windows-Editor (Notepad) vollkommen aus, um BAT-Dateien zu schreiben. Er ist vorinstalliert, startet sofort und verarbeitet einfachen Text ohne versteckte Formatierung.

Für umfangreichere Skripte empfehlen sich jedoch erweiterte Editoren. Besonders bewährt hat sich dabei Notepad++, ein kostenloser Editor, den Sie unter notepad-plus-plus.org herunterladen können. Notepad++ bietet:

  • Syntaxhervorhebung für Batch-Dateien (Befehle, Variablen und Kommentare werden farblich markiert)
  • Zeilennummern, die die Fehlersuche erheblich erleichtern
  • Automatisches Einrücken und Suchen-und-Ersetzen-Funktionen
  • Keine Änderung der Zeilenenden, was bei Batch-Dateien wichtig ist

Außerdem eignet sich Visual Studio Code (kostenlos unter code.visualstudio.com) mit der Erweiterung „Batch Rename“ oder dem integrierten Batch-Sprachpaket hervorragend, falls Sie ohnehin bereits damit arbeiten. Jedoch ist Notepad++ für reine BAT-Dateien die schlankere und schnellere Wahl.

Achtung: Verwenden Sie niemals Microsoft Word oder andere Textverarbeitungsprogramme zum Bearbeiten von BAT-Dateien. Diese Programme fügen unsichtbare Formatierungszeichen ein, die das Skript beim Ausführen beschädigen.

Die wichtigsten Befehle für BAT-Dateien

Damit Ihre erste BAT-Datei auch tatsächlich nützlich ist, sollten Sie die grundlegenden Befehle kennen. Deshalb stellt dieser Abschnitt die wichtigsten vor:

Steuerungsbefehle

@echo off – Dieser Befehl sollte in fast jeder BAT-Datei ganz oben stehen. Er unterdrückt die Anzeige der einzelnen Befehle während der Ausführung, sodass nur noch die tatsächlichen Ausgaben erscheinen. Das @-Zeichen bewirkt zusätzlich, dass auch dieser Befehl selbst nicht angezeigt wird.

echo – Gibt Text auf dem Bildschirm aus. Zum Beispiel zeigt echo Backup abgeschlossen genau diese Meldung an. echo. (mit einem Punkt) erzeugt eine Leerzeile.

pause – Hält das Skript an und wartet auf einen Tastendruck. Besonders nützlich am Ende eines Skripts, damit das Fenster nicht sofort verschwindet.

cls – Löscht den Bildschirminhalt der Eingabeaufforderung.

rem – Fügt einen Kommentar ein, der nicht ausgeführt wird. Zum Beispiel: rem Dies ist eine Erklärung. Alternativ funktioniert auch :: als Kommentarzeichen.

Datei- und Ordnerbefehle

copy – Kopiert Dateien. Beispiel: copy C:\Quelle\datei.txt D:\Ziel\ kopiert datei.txt in den Zielordner.

move – Verschiebt Dateien. Funktioniert genauso wie copy, löscht jedoch die Originaldatei.

del – Löscht Dateien. del C:\Temp\*.tmp löscht zum Beispiel alle .tmp-Dateien im Temp-Ordner.

mkdir (kurz: md) – Erstellt einen neuen Ordner. mkdir D:\Backup\2026 legt den Ordner 2026 an.

rmdir (kurz: rd) – Löscht einen Ordner. Mit dem Zusatz /s /q werden auch Unterordner und Dateien ohne Rückfrage gelöscht.

xcopy – Erweiterter Kopierbefehl, der auch Unterordner kopiert. xcopy C:\Quelle D:\Ziel /e /i kopiert den gesamten Ordnerinhalt inklusive Unterordner.

robocopy – Noch leistungsfähiger als xcopy und deshalb besonders für Datensicherungen empfohlen. Der Befehl robocopy C:\Dokumente D:\Backup\Dokumente /mir erstellt eine vollständige Spiegelung des Quellordners.

Systemvariablen und Navigation

cd – Wechselt das aktuelle Verzeichnis. cd C:\Users\Benutzer\Desktop navigiert zum Desktop.

dir – Listet den Inhalt des aktuellen Verzeichnisses auf.

set – Setzt oder zeigt Umgebungsvariablen. Windows stellt außerdem nützliche vordefinierte Variablen bereit, zum Beispiel:

  • %USERPROFILE% – Pfad zum Benutzerordner (z. B. C:\Users\Benutzer)
  • %TEMP% – Pfad zum temporären Ordner
  • %SYSTEMROOT% – Windows-Verzeichnis (meist C:\Windows)
  • %DATE% und %TIME% – aktuelles Datum und aktuelle Uhrzeit

Ablaufsteuerung

if – Überprüft eine Bedingung. Zum Beispiel: if exist C:\datei.txt echo Datei gefunden

goto – Springt zu einer Sprungmarke im Skript. Sprungmarken werden mit einem Doppelpunkt definiert, etwa :start.

for – Führt einen Befehl für mehrere Elemente aus, etwa für alle Dateien in einem Ordner.

exit – Beendet das Skript. Mit exit /b wird nur das aktuelle Batch-Skript beendet, nicht das gesamte Eingabeaufforderungsfenster.

Praktische Beispiele für BAT-Dateien

Theorie ist gut – deshalb folgen nun konkrete, sofort einsetzbare Beispiele.

Beispiel 1: Temporäre Dateien löschen

@echo off
echo Temporäre Dateien werden gelöscht...
del /s /q "%TEMP%\*.*"
rd /s /q "%TEMP%"
mkdir "%TEMP%"
echo Fertig!
pause

Dieses Skript löscht alle Dateien im temporären Ordner und legt ihn anschließend neu an. Führen Sie es mit Administratorrechten aus, da einige Temp-Dateien schreibgeschützt sein können.

Beispiel 2: Automatisches Backup von Dokumenten

@echo off
set QUELLE=%USERPROFILE%\Documents
set ZIEL=D:\Backup\Dokumente_%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%
echo Backup wird erstellt...
robocopy "%QUELLE%" "%ZIEL%" /e /r:3 /w:5
echo Backup abgeschlossen: %ZIEL%
pause

Dieses Skript sichert den Dokumentenordner des aktuellen Benutzers in einen datumsbeschrifteten Zielordner auf Laufwerk D:. Dank robocopy werden außerdem nur geänderte Dateien übertragen, falls der Zielordner bereits existiert.

Beispiel 3: Netzwerkdiagnose

@echo off
echo === Netzwerkdiagnose ===
echo.
echo Ping-Test zu Google DNS:
ping 8.8.8.8 -n 4
echo.
echo IP-Konfiguration:
ipconfig
echo.
pause

Nützlich, um schnell festzustellen, ob eine Internetverbindung besteht und welche IP-Adresse vergeben wurde.

Beispiel 4: Mehrere Programme gleichzeitig starten

@echo off
start "" "C:\Program Files\Mozilla Firefox\firefox.exe"
start "" "C:\Program Files\Notepad++\notepad++.exe"
start "" "C:\Windows\System32\calc.exe"

Dieses kurze Skript öffnet Firefox, Notepad++ und den Taschenrechner auf einmal. Besonders praktisch ist es als Arbeitsumgebung beim Start des Computers. Der Befehl start "" startet das jeweilige Programm dabei im Hintergrund, ohne auf dessen Beendigung zu warten.

Beispiel 5: Netzlaufwerk verbinden

@echo off
echo Verbinde Netzlaufwerk...
net use Z: \\Server\Freigabe /persistent:yes
echo Netzlaufwerk Z: verbunden.
pause

Ersetzen Sie \\Server\Freigabe durch den tatsächlichen UNC-Pfad Ihres Netzlaufwerks. Zudem können Sie /persistent:no verwenden, wenn die Verbindung nur für die aktuelle Sitzung gelten soll.

BAT-Datei automatisch ausführen (Taskplaner)

Eine BAT-Datei manuell zu starten ist bequem. Noch praktischer ist es jedoch, wenn sie automatisch zu bestimmten Zeiten ausgeführt wird – zum Beispiel täglich um Mitternacht für ein Backup.

Der empfohlene Weg dafür ist der Windows-Taskplaner (Task Scheduler):

  1. Öffnen Sie den Taskplaner: Drücken Sie Win + R, tippen Sie taskschd.msc und bestätigen Sie mit Enter.
  2. Klicken Sie rechts auf „Einfache Aufgabe erstellen“.
  3. Geben Sie der Aufgabe einen Namen, zum Beispiel „Tägliches Backup“.
  4. Legen Sie den Auslöser fest, etwa „Täglich“ um 23:00 Uhr.
  5. Wählen Sie als Aktion „Programm starten“ und navigieren Sie zur Ihrer .bat-Datei.
  6. Falls das Skript Administratorrechte benötigt, aktivieren Sie zusätzlich die Option „Mit höchsten Berechtigungen ausführen“ in den Eigenschaften der Aufgabe.

Außerdem stehen folgende Auslöser zur Verfügung: beim Systemstart, bei Anmeldung, bei einem bestimmten Ereignis im Systemprotokoll oder bei Leerlauf des Computers.

BAT-Datei bearbeiten und debuggen

Gelegentlich funktioniert ein Skript nicht wie erwartet. Deshalb sollten Sie einige Techniken zur Fehlersuche kennen.

Bearbeiten einer vorhandenen BAT-Datei

Doppelklicken würde die Datei direkt ausführen. Um sie stattdessen zu bearbeiten, klicken Sie mit der rechten Maustaste darauf und wählen „Bearbeiten“ oder „Mit Notepad++ öffnen“ (falls installiert). In Windows 11 müssen Sie gegebenenfalls zuerst auf „Weitere Optionen anzeigen“ klicken, um den klassischen Kontextmenüpunkt zu sehen.

Fehlersuche durch echo

Entfernen Sie vorübergehend @echo off oder fügen Sie nach jedem kritischen Befehl eine echo-Ausgabe ein. So sehen Sie genau, bis zu welchem Punkt das Skript erfolgreich läuft.

Fehlercodes auswerten

Viele Befehle geben nach der Ausführung einen Fehlercode zurück, der in der Variable %ERRORLEVEL% gespeichert ist. 0 bedeutet Erfolg, jeder andere Wert deutet auf einen Fehler hin. Deshalb empfiehlt es sich, nach kritischen Befehlen Folgendes einzufügen:

if %ERRORLEVEL% neq 0 (
    echo Fehler aufgetreten! Code: %ERRORLEVEL%
    pause
    exit /b %ERRORLEVEL%
)

Ausgabe in eine Logdatei umleiten

Zudem können Sie die Ausgabe eines Skripts in eine Textdatei schreiben, um sie später auszuwerten:

mein-skript.bat >> C:\Logs\backup.log 2>&1

>> hängt die Ausgabe an eine bestehende Logdatei an. 2>&1 leitet außerdem Fehlermeldungen in dieselbe Datei um.

Sicherheitshinweise beim Umgang mit BAT-Dateien

BAT-Dateien sind mächtig – deshalb sollten Sie einige Sicherheitsaspekte beachten:

Öffnen Sie keine BAT-Dateien aus unbekannten Quellen. Da sie direkt Systembefehle ausführen, können schädliche Skripte erheblichen Schaden anrichten – von gelöschten Dateien bis hin zur Manipulation von Systemeinstellungen. Deshalb blockiert Windows SmartScreen in neueren Versionen unbekannte .bat-Dateien mit einer Warnung. Ignorieren Sie diese Warnung nur bei Dateien, deren Inhalt Sie selbst geprüft haben.

Testen Sie Skripte zuerst in einer sicheren Umgebung. Insbesondere Befehle wie del, rmdir /s oder format sollten Sie niemals ungeprüft ausführen, da sie Daten unwiderruflich löschen.

Arbeiten Sie ohne Administratorrechte, solange es nicht notwendig ist. Für einfache Aufgaben wie das Kopieren eigener Dateien oder das Starten von Programmen sind keine erhöhten Rechte erforderlich.

BAT-Datei vs. PowerShell: Wann welches Tool?

Häufig stellt sich die Frage, ob eine BAT-Datei oder ein PowerShell-Skript (.ps1) die bessere Wahl ist. Beide haben ihre Stärken:

BAT-Dateien sind ideal, wenn Sie:

  • einfache, schnell erstellte Automatisierungen benötigen
  • Kompatibilität mit sehr alten Windows-Versionen sicherstellen möchten
  • keine Vorkenntnisse in Skriptsprachen haben
  • einen Doppelklick als sofortige Ausführung bevorzugen

PowerShell-Skripte sind hingegen besser geeignet, wenn Sie:

  • komplexe Logik mit Schleifen, Fehlerbehandlung und Objektorientierung benötigen
  • mit modernen Windows-APIs und .NET-Funktionen arbeiten möchten
  • Netzwerk-, Active-Directory- oder Cloud-Aufgaben automatisieren

Für viele alltägliche Aufgaben – Dateien sichern, Ordner bereinigen, Programme starten – reichen BAT-Dateien jedoch vollkommen aus. Zudem lässt sich eine BAT-Datei notfalls auch PowerShell-Befehle aufrufen lassen: powershell -Command "Get-Process" funktioniert problemlos innerhalb einer .bat-Datei.

Häufige Fragen zu BAT-Dateien in Windows

Wie erstelle ich eine BAT-Datei ohne Notepad?

Sie können jede Anwendung verwenden, die reinen Text ohne Formatierung speichert. Dazu gehören neben Notepad auch Notepad++, Visual Studio Code oder der Editor in der Windows PowerShell ISE. Wichtig ist stets, dass Sie beim Speichern die Endung .bat vergeben und der Editor keine versteckten Formatierungszeichen hinzufügt.

Warum öffnet sich meine BAT-Datei kurz und schließt sich sofort wieder?

Das Fenster schließt sich, weil das Skript alle Befehle ausgeführt hat und danach endet. Fügen Sie deshalb am Ende des Skripts den Befehl pause ein. Dieser hält das Fenster offen, bis Sie eine Taste drücken, und gibt Ihnen so Zeit, die Ausgaben zu lesen.

Wie kann ich eine BAT-Datei mit Administratorrechten ausführen?

Klicken Sie mit der rechten Maustaste auf die BAT-Datei und wählen Sie „Als Administrator ausführen“. Alternativ können Sie im Taskplaner die Option „Mit höchsten Berechtigungen ausführen“ aktivieren, damit das Skript bei jedem automatischen Start die nötigen Rechte erhält.

Kann ich eine BAT-Datei unsichtbar im Hintergrund ausführen?

Ja. Dafür empfiehlt sich ein kleines Hilfsprogramm namens NirCmd (kostenlos von nirsoft.net). Mit dem Befehl nircmd exec hide mein-skript.bat wird das Skript ohne sichtbares Fenster ausgeführt. Alternativ können Sie im Taskplaner unter „Allgemein“ die Option „Unabhängig von der Benutzeranmeldung ausführen“ wählen.

Wie füge ich der BAT-Datei eine Variable mit dem aktuellen Datum hinzu?

Verwenden Sie die Systemvariable %DATE%. Das Format hängt jedoch von den Windows-Regionalisierungseinstellungen ab. Unter deutschen Windows-Installationen ist das Format typischerweise TT.MM.JJJJ. Möchten Sie das Datum im Format JJJJ-MM-TT verwenden, extrahieren Sie es mit: set DATUM=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.

Warum werden Umlaute in meiner BAT-Datei falsch angezeigt?

Das liegt am Zeichensatz. Die Eingabeaufforderung verwendet standardmäßig die Codepage 850 oder 437. Um Umlaute korrekt darzustellen, fügen Sie am Anfang des Skripts chcp 65001 ein (UTF-8) und speichern Sie die Datei ebenfalls in UTF-8 ohne BOM – das ist in Notepad++ unter „Format“„UTF-8 ohne BOM“ einstellbar.

Wie kann ich eine BAT-Datei beim Windows-Start automatisch ausführen?

Legen Sie eine Verknüpfung zur BAT-Datei im Autostart-Ordner ab. Drücken Sie dazu Win + R, tippen Sie shell:startup und bestätigen Sie mit Enter. Alternativ verwenden Sie den Taskplaner mit dem Auslöser „Beim Starten“ – dieser bietet mehr Kontrolle und funktioniert auch ohne angemeldeten Benutzer.

Was ist der Unterschied zwischen .bat und .cmd?

Beide Dateitypen führen Befehle in der Eingabeaufforderung aus. .cmd-Dateien wurden mit Windows NT eingeführt und verarbeiten Fehlercodes (ERRORLEVEL) zuverlässiger als .bat-Dateien. Zudem verhalten sich einige Befehle in .cmd-Dateien leicht anders. Für moderne Windows-Versionen (ab Windows XP) empfiehlt sich daher die Endung .cmd, sofern keine besondere Kompatibilität mit alten Systemen erforderlich ist. In der Praxis sind die Unterschiede jedoch für die meisten Anwendungsfälle irrelevant.

Wie öffne ich eine BAT-Datei zum Bearbeiten, ohne sie auszuführen?

Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie „Bearbeiten“. Falls dieser Eintrag fehlt (was in Windows 11 vorkommen kann), klicken Sie auf „Weitere Optionen anzeigen“ und wählen Sie dort „Öffnen mit“„Editor“ oder den von Ihnen bevorzugten Texteditor.

Kann eine BAT-Datei auch andere Skripte oder Programme aufrufen?

Ja, und das ist sogar eine empfohlene Vorgehensweise für modulare Automatisierungen. Mit call anderes-skript.bat wird ein weiteres Batch-Skript ausgeführt und danach zum rufenden Skript zurückgekehrt. Mit start hingegen wird ein Programm oder Skript in einem separaten Prozess gestartet, ohne auf dessen Beendigung zu warten.

Fazit

Eine BAT-Datei zu erstellen ist in Windows 10 und 11 denkbar einfach: Ein Texteditor und die richtige Dateiendung genügen. Dank grundlegender Befehle wie copy, robocopy, del und if lassen sich alltägliche Aufgaben schnell automatisieren.

Starten Sie mit kleinen Skripten, testen Sie diese gründlich und erweitern Sie sie nach Bedarf. Sobald Ihre Anforderungen wachsen, bietet PowerShell den nächsten Schritt.