Programmierung

for %a in (*.*) do Befehl %a

Schleifen

Batch-Programmierung

© Archiv

Gute Dokumentation hilft Ihnen, Ihr Programm mitsamt Einsatzzweck und Funktion auch nach Monaten noch zu verstehen.

Eine wichtige Eigenschaft bei der Automation ist die Bearbeitung von Gruppen, statt Einzelwerten. Auf DOS-Ebene dient hierfür die For-Schleife. In ihrem klassischen Einsatz bearbeitet sie eine Gruppe von Dateien: for %a in (*.*) do Befehl %a. Jeder Dateiname des aktuellen Verzeichnisses wird dabei nacheinander der Variablen %a übergeben und dann je ein Befehl aufgerufen, dem Sie wieder als Parameter %a übergeben.

Im einfachsten Fall geben Sie for %a in (*.*) do @echo %a ein. Verwenden Sie die Variable statt auf der Kommandozeile in einer Batch-Datei, müssen Sie zwei statt einem Prozentzeichen verwenden: for /r %%b in (*.*) do @echo %%b>>test.dat. Das Beispiel nennt die Variable b und leitet die Ergebnisse aller Durchläufe in die Datei Test.dat um. Der Parameter /r veranlasst die For-Schleife zum rekursiven Aufruf.

Dadurch lesen Sie zu allen Dateinamen des aktuellen Verzeichnisses in die Variable %%b noch die Dateinamen in allen Unterverzeichnissen ein. Ist das aktuelle Verzeichnis das Root-Verzeichnis wie C:\, schreiben Sie alle Dateinamen der ganzen Partition mit dem kompletten Zugriffspfad in die Datei Test.dat. Mit For-Schleifen lassen sich zudem Dateiinhalte zerlegen und analysieren, Verzeichnisse bearbeiten oder auch Wertebereiche samt Schrittweiten verwenden.

Letzteres sieht etwa so aus: for /L %d in (1,1,255) do echo Dies ist Zeile %d>>test2.dat. Die drei Werte in der Klammer bezeichnen Startwert, Schrittweite und Endwert. Damit wird dann nicht nur eine Schleife, in diesem Fall 255fach, durchlaufen, sondern jeder Wert lässt sich auch als Zahlenwert weiterverwenden. Das Beispiel leitet ihn in die Datei Test2.dat um.

Sie finden sicherlich Einsatzgebiete, in denen Ihnen bereits die vorgestellten Varianten der For-Schleife sehr viel Arbeit abnehmen. Das komplette Beispiel findet sich mit weiteren Erläuterungen in For1.bat auf der Heft-DVD. Natürlich konstruieren Sie mit Sprungmarken auch Endlosschleifen oder lassen das Ergebnis einer If-Auswertung aus der Endlosschleife springen:

:Anfang
rem Beliebige Befehle
if exist ergebnis.txt goto Ende
goto Anfang
:Ende

Errorlevel, Kommentare

Beliebige Programme und Batch-Programme verständigen sich auf unterschiedliche Art. Die wichtigste Art der Kommunikation besteht darin, Errorlevel-Codes auszuwerten. Praktisch jeder Compiler oder jedes bessere Script-System erlaubt es, dem folgenden Programm einen Fehlerwert zu übergeben.

Der Errorlevel-Wert 0 definiert üblicherweise eine erfolgreiche Operation, Werte zwischen 1 und 255 melden meist Fehler. Reagiert also ein Anwendungsprogramm zuverlässig auf einen Fehler, leitet auch das auswertende Batch-Programm die notwendigen Schritte ein.

Wichtig dabei ist, dass Sie die Errorlevel in der Batch-Datei vom höchsten zum niedrigsten Wert auswerten. Treten also die Errorlevel-Werte 1, 3 und 5 auf, muss die Auswertung bei 5 beginnen:

if errorlevel 5 goto Fehler5
if errorlevel 3 goto Fehler3
if errorlevel 1 goto Fehler1
rem Keine Fehler aufgetreten...

Wollen Sie in Batch-Dateien Kommentare einfügen, setzen Sie an den Anfang der Zeile den Code Rem. Alles rechts davon wird dann nicht bearbeitet und kann so das Batch-Programm dokumentieren: rem Dies ist eine Kommentarzeile

Die hier vorgestellten Fähigkeiten der Batch-Programmierung sind nur ein erster Schritt. Sie betreten so einen hilfreichen Bereich, um viel Zeit bei der Arbeit am PC zu sparen. Folgende Beiträge in lockerer Folge werden vorstellen, welche Leistung in diesem Gebiet schlummert, die Sie für sich nutzen.

Die Beispiele von der Heft-DVD kopieren Sie am besten in ein leeres Verzeichnis und starten sie dort. Weil nämlich einige der Programme Testdaten anlegen, arbeiten diese nicht korrekt, wenn sie direkt von der Heft-DVD aufgerufen werden.

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…