- 1 Abschnitt
- 15 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
- Kommandozeile (CMD)16
- 1.1Einstieg & Arbeitsweise
- 1.2Navigieren im Dateisystem
- 1.3Pfade, Wildcards und Quoting
- 1.4Umgebungsvariablen und der PATH
- 1.5Ein- und Ausgabe, Pipes und Umleitungen
- 1.6Suchen, Vergleichen und Archivieren
- 1.7Prozesse, Dienste und Systeminformationen
- 1.8Netzwerk-Basics und Troubleshooting
- 1.9Rechte, ACLs und Dateiattribute
- 1.10Batch-Grundlagen und Automatisierung
- 1.11Aufgaben planen und Startparameter
- 1.12Fehlerbehandlung, Logs und Debugging
- 1.13Erweiterte Batch-Techniken – FOR /F, String-Operationen und Menüführung
- 1.14Aufgaben
- 1.15Lösungen
- 1.16Kommandozeile (CMD)14 Fragen
Aufgaben planen und Startparameter
Ein gutes Script ist nur halb so nützlich, wenn man es jedes Mal von Hand starten muss.
Automatisierung bedeutet, dass Abläufe zeit- oder ereignisgesteuert ablaufen – etwa nachts ein Backup, morgens ein Systemcheck oder einmal pro Woche eine Protokoll-Sicherung.
Windows bietet dafür den Aufgabenplaner (Task Scheduler) – über die Oberfläche und über die CMD mit schtasks.
Parameter wiederum machen Skripte flexibel: statt mehrere fast gleiche Dateien zu schreiben, übergibst du beim Start bestimmte Werte (z. B. „Backup heute“ oder „Backup Archiv“).
Der Aufgabenplaner (schtasks)
schtasks ist der CMD-Zugang zum Windows-Aufgabenplaner.
Damit kannst du geplante Tasks anlegen, anzeigen, ändern oder löschen.
Übersicht aller geplanten Tasks:
schtasks /query
Mit /fo list erhältst du eine besser lesbare Liste:
schtasks /query /fo list /v
/fo= Format (table,list,csv)/v= verbose → zeigt zusätzliche Details wie letzten Lauf und Status
Aufgaben erstellen
Einmalige Aufgabe
schtasks /create /sc once /tn "BackupEinmalig" /tr "C:\Scripts\backup.bat" /st 14:00
/sc once= einmalig/tn= Taskname/tr= Pfad zum Script/st= Startzeit (HH:MM, 24-Stunden-Format)
Tägliche Aufgabe
schtasks /create /sc daily /tn "BackupTäglich" /tr "C:\Scripts\backup.bat" /st 03:00
Wöchentlich, an bestimmten Tagen
schtasks /create /sc weekly /d MON,WED,FRI /tn "LogCleanup" /tr "C:\Scripts\cleanup.bat" /st 23:30
Beim Systemstart oder Login
schtasks /create /sc onstart /tn "SystemCheck" /tr "C:\Scripts\syscheck.bat"
schtasks /create /sc onlogon /tn "UserStart" /tr "C:\Scripts\welcome.bat"
Hinweis:
Bei onstart oder onlogon läuft die Aufgabe standardmäßig mit Benutzerrechten des angemeldeten Users.
Für Systemaufgaben kannst du /ru SYSTEM angeben.
Aufgaben anzeigen, löschen und ausführen
| Zweck | Befehl | Erklärung |
|---|---|---|
| Aufgabe ausführen | schtasks /run /tn "BackupTäglich" | startet sie sofort |
| Aufgabe löschen | schtasks /delete /tn "BackupTäglich" | löscht sie |
| Nächste Laufzeit anzeigen | schtasks /query /tn "BackupTäglich" | prüft, ob sie aktiv ist |
Beispiel: tägliches automatisches Backup
schtasks /create /sc daily /st 02:00 /tn "TäglichesBackup" ^
/tr "C:\Scripts\backup.bat" /ru SYSTEM /rl HIGHEST
/ru SYSTEM→ läuft mit Systemrechten (auch ohne Benutzeranmeldung)/rl HIGHEST→ höchste Berechtigungsstufe
Das ist die Standardlösung für Server oder Admin-Rechner, die nachts Sicherungen durchführen sollen.
Startparameter (%1, %2, …)
Skripte können Argumente entgegennehmen, die beim Start übergeben werden.
Damit kannst du ein Script vielseitig einsetzen, ohne es jedes Mal umzuschreiben.
Beispiel:
@echo off
echo Parameter 1: %1
echo Parameter 2: %2
Aufruf:
test.bat hallo welt
Ausgabe:
Parameter 1: hallo
Parameter 2: welt
Damit lassen sich Aktionen dynamisch steuern.
Praxisbeispiel – Backupziel als Parameter:
@echo off
set "ZIEL=%1"
if "%ZIEL%"=="" set "ZIEL=D:\BackupStandard"
echo Sicherung nach %ZIEL%
xcopy C:\Daten "%ZIEL%" /E /I /Y
So kannst du das Script mit verschiedenen Zielen starten:
backup.bat D:\Archiv
oder ohne Parameter, dann nimmt es den Standardordner.
Startoptionen: start, timeout, shutdown
Programme oder Fenster starten
start öffnet Programme, Ordner oder CMD-Fenster.
Syntax:
start "Fenstertitel" cmd /k dir
"Fenstertitel"= Pflicht, kann leer bleiben ("")/k= führt Befehl aus und bleibt offen/c= führt Befehl aus und schließt danach
Beispiele:
"Fenstertitel" = Pflicht, kann leer bleiben ("")
/k = führt Befehl aus und bleibt offen
/c = führt Befehl aus und schließt danach
Beispiele: Wartezeit einbauen
timeout pausiert das Script für eine bestimmte Zeit (in Sekunden):
echo Warte 10 Sekunden...
timeout /t 10 >nul
Option /nobreak ignoriert Tastatureingaben während der Pause.
Rechner herunterfahren oder neu starten
shutdown /s /t 30 /c "System wird in 30 Sekunden heruntergefahren."
shutdown /r /t 0
/s= shutdown/r= restart/t= Timer (Sekunden)/c= Kommentar (optional)
Das eignet sich z. B. für geplante Neustarts nach Updates.
Kombination: Geplante Aufgabe mit Parametern
Du kannst Parameter direkt im Task definieren:
schtasks /create /sc weekly /d SUN /tn "Archivierung" /st 01:00 ^
/tr "C:\Scripts\backup.bat D:\Archiv"
So ruft der Task das gleiche Script mit einem bestimmten Zielordner auf.
Ein Script, mehrere Einsatzzwecke – saubere, wartbare Lösung.
Beispiel: Systemreport am Wochenanfang
@echo off
set DATUM=%DATE%
set PFAD=D:\Reports\%DATE%
mkdir "%PFAD%"
systeminfo > "%PFAD%\system.txt"
ipconfig /all > "%PFAD%\netzwerk.txt"
tasklist > "%PFAD%\prozesse.txt"
echo Report erstellt unter %PFAD%
Dann:
schtasks /create /sc weekly /d MON /st 08:00 /tn "Systemreport" /tr "C:\Scripts\report.bat"
→ automatisiert jede Woche einen vollständigen Systemstatusbericht.
Häufige Fehlerquellen
| Problem | Ursache | Lösung |
|---|---|---|
| Aufgabe startet nicht | Pfad enthält Leerzeichen | Pfad in Anführungszeichen |
| Keine Berechtigung | Script benötigt Adminrechte | /ru SYSTEM oder Administrator-Konto |
| Task läuft, aber nichts passiert | Script verwendet relative Pfade | immer absolute Pfade verwenden |
| Parameter nicht erkannt | %1 vergessen | Parameter in %1, %2 schreiben |
| Script läuft zu kurz | kein timeout oder pause | Pausen einbauen, Log schreiben |
