Batch und CMD – Windows-Skripting in der Eingabeaufforderung

Batch (Dateiendung .bat oder .cmd) ist die klassische Skriptsprache der Windows-Eingabeaufforderung. Sie eignet sich für Dateioperationen, Ordner, Dienste, Netzwerk- und Automatisierungsaufgaben – der direkte Gegenpart zu Bash unter Linux. Für komplexe Aufgaben ist PowerShell die moderne Alternative.

Dateien und Verzeichnisse

  • dir – Inhalt auflisten, dir /s – rekursiv, dir /b – nackte Namen
  • cd / cd /d D:\ – Verzeichnis wechseln (auch Laufwerk)
  • copy a.txt b.txt – kopieren, xcopy /e /i src dst – rekursiv kopieren
  • move a.txt ordner\ – verschieben, ren a.txt b.txt – umbenennen
  • del *.tmp / del /s /q *.log – löschen, rmdir /s /q ordner – Ordner löschen
  • mkdir (bzw. md) – Ordner anlegen
  • type datei.txt – Datei anzeigen (wie cat)

System und Dienste

  • ipconfig / ipconfig /all – Netzwerkkonfiguration
  • ping 8.8.8.8, tracert host, netstat -ano – Netzwerkdiagnose
  • tasklist – Prozesse, taskkill /f /im notepad.exe – Prozess beenden
  • sc query / sc config Dienst start= auto – Dienste verwalten
  • net user, net share, net use – Benutzer/Freigaben
  • sfc /scannow – Systemdateien prüfen, chkdsk C: – Datenträger prüfen

Skript-Grundlagen

@echo off
set NAME=Welt
echo Hallo %NAME%!
if exist C:\Windows (echo Windows vorhanden) else (echo Fehlt)
for %%f in (*.txt) do echo Datei: %%f
pause
  • @echo off – Befehle nicht ausgeben, set VAR=wert – Variable, Zugriff mit %VAR%
  • if / else, for %%i in (liste) do ... – Kontrollstrukturen
  • %1 %2 – Parameter, %errorlevel% – Rückgabewert des letzten Befehls
  • goto :label – Sprungmarke, call unter.bat – Unterprogramm
  • 2>nul – Fehlerausgabe unterdrücken, | findstr muster – filtern
  • rem oder :: – Kommentar, exit /b 0 – mit Code beenden

Verwandte Einträge: PowerShell-Befehle für die moderne Shell, Bash-Befehle für Linux, Shell sowie Automatisierung.