CMD-Befehl: FOR
Der “FOR”-Befehl in der Windows-Befehlszeile (CMD) ist ein leistungsstarkes Werkzeug zur Iteration und Verarbeitung von Dateien und Verzeichnissen. Mit “FOR” können Sie Dateien durchsuchen, Verzeichnisse durchgehen und Aktionen auf Basis dieser Elemente ausführen.
Syntax:
FOR %variable IN (set) DO Befehl [Parameter][/sourcecode]
Parameter:
- %variable: Stellt eine Platzhaltervariable dar, die in jedem Schleifendurchlauf den Wert eines Elements aus dem angegebenen Set erhält.
- (set): Definiert die Menge von Elementen (Dateien oder Verzeichnisse), die durchlaufen werden sollen.
- Befehl: Der Befehl, der für jedes Element im Set ausgeführt wird.
- [Parameter]: Optionale Parameter für den Befehl.
Verwendung:
Der “FOR”-Befehl kann auf verschiedene Weisen verwendet werden:
- Dateien in einem Verzeichnis durchgehen:
FOR %f IN (C:\Pfad\Zum\Verzeichnis\*) DO Befehl [Parameter]
Dies durchläuft alle Dateien im angegebenen Verzeichnis und führt den Befehl für jede Datei aus.
- Dateien mit einem bestimmten Muster durchsuchen:
FOR %f IN (C:\Pfad\Zum\Verzeichnis\*.txt) DO Befehl [Parameter]
Hier werden nur Dateien mit der Erweiterung “.txt” verarbeitet.
Verzeichnisse durchgehen:
FOR /D %d IN (C:\Pfad\Zum\Verzeichnis\*) DO Befehl [Parameter]
Mit /D werden nur Verzeichnisse durchlaufen.
Beispiele:
Dateien in einem Verzeichnis auflisten:
FOR %f IN (C:\MeinVerzeichnis\*) DO ECHO %f
Dies zeigt den Namen jeder Datei im Verzeichnis an.
Dateien in einem Verzeichnis löschen:
FOR %f IN (C:\ZuLöschendesVerzeichnis\*) DO DEL %f
Dies löscht alle Dateien im Verzeichnis.
Verzeichnisse in einem übergeordneten Verzeichnis anzeigen:
FOR /D %d IN (C:\ÜbergeordnetesVerzeichnis\*) DO DIR %d
Dies zeigt den Inhalt aller Unterverzeichnisse an.
Hinweis:
- Bei der Verwendung von “FOR” in einer Batchdatei (Skript) müssen Sie doppelte Prozentzeichen verwenden, z.B. %%f und %%d, anstelle von %f und %d. In der interaktiven CMD-Eingabe reicht ein Prozentzeichen.
- “FOR” ist ein vielseitiges Werkzeug und kann für zahlreiche Aufgaben, wie die Stapelverarbeitung von Dateien oder das Umbenennen von Dateien, eingesetzt werden. Es erfordert jedoch Verständnis für die Syntax und die Einsatzmöglichkeiten.
Eine FOR-Schleife in der Windows-Befehlszeile (CMD) ermöglicht es, Befehle wiederholt auszuführen, wobei eine Variable in jeder Iteration geändert wird. Diese Schleifen sind hilfreich, um Aufgaben auf eine Gruppe von Dateien oder Verzeichnissen anzuwenden. Hier ist eine grundlegende Erklärung, wie eine FOR-Schleife in CMD funktioniert:
Die FOR-Schleife in CMD kann in verschiedenen Modi arbeiten, aber ich werde die gebräuchlichsten erläutern:
- FOR /F: Diese Variante der FOR-Schleife liest Zeilen aus einer Datei oder einer Befehlsausgabe und führt für jede Zeile einen Befehl aus.
- Syntax:
- for /F “options” %variable in (set) do command
- Beispiel:
- for /F “tokens=1,2” %i in (file.txt) do echo %i %j
- In diesem Beispiel wird die Datei “file.txt” gelesen, und die ersten beiden Wörter jeder Zeile werden in den Variablen %i und %j gespeichert und dann mit echo
- Syntax:
- FOR /D: Diese Variante der FOR-Schleife durchsucht Verzeichnisse in einem bestimmten Ordner und führt Befehle für jedes Verzeichnis aus.
-
- Syntax:
-
for /D %variable in (set) do command[/sourcecode]
- Beispiel:
for /D %i in (C:\Users\*) do echo %i
- Hier werden alle Verzeichnisse im “C:\Users”-Verzeichnis durchlaufen, und der Name jedes Verzeichnisses wird mit echo
- Syntax:
-
-
-
- Syntax:
- for /R [[drive:]path] %variable in (set) do command
- Beispiel:
for /R C:\Users\ %i in (*.txt) do copy %i D:\Backup\</li>
- Hier wird nach allen “.txt”-Dateien in allen Unterverzeichnissen von “C:\Users” gesucht, und sie werden in das Verzeichnis “D:\Backup” kopiert.
- Syntax:
-
-
-
-
- Syntax:
-
for %variable in (value1 value2 …) do command[/sourcecode]
- Beispiel:
for %i in (apple banana cherry) do echo %i
- Hier wird der Befehl echo für jeden Wert in der Liste ausgeführt.
- Syntax:
-
-
-
-
-
-
- Die allgemeine Syntax für “FOR /L” lautet:
- Hier sind die Teile der Syntax erläutert:
- %variable: Dies ist die Variable, die du in der Schleife verwendest, um den aktuellen Zähler darzustellen.
- start: Hier wird angegeben, mit welchem Wert die Zählung beginnen soll.
- step: Dies ist der Schritt, um den der Zähler in jeder Iteration erhöht wird.
- end: Hier gibst du an, bei welchem Wert die Schleife beendet werden soll.
- command: Dies ist der Befehl, der in jeder Iteration der Schleife ausgeführt wird. Du kannst die Variable %variable verwenden, um auf den aktuellen Zählerwert zuzugreifen.
for /L %variable in (start,step,end) do command[/sourcecode]
-
-
-
Ein einfaches Beispiel:
for /L %i in (1,1,5) do echo This is iteration %i
In diesem Beispiel wird die Schleife fünf Mal durchlaufen, und bei jeder Iteration wird die aktuelle Iterationsnummer ausgegeben. Das Ergebnis wäre:
This is iteration 1 This is iteration 2 This is iteration 3 This is iteration 4 This is iteration 5
“FOR /L” ist nützlich, wenn man eine Aktion eine bestimmte Anzahl von Malen wiederholen möchte, z. B. um Dateien zu nummerieren, Aufgaben zu planen oder andere wiederholte Vorgänge auszuführen.
Während des Arbeitens mit FOR-Schleifen in CMD ist es wichtig, die korrekte Syntax und die richtigen Optionen zu verwenden. Die Verwendung von %variable in einer Eingabeaufforderung erfordert nur ein Prozentzeichen, während in einem Batch-Skript (*.bat) doppelte Prozentzeichen (%%variable) verwendet werden. Das ermöglicht die Verwendung von FOR-Schleifen sowohl in einer interaktiven Eingabeaufforderung als auch in Batch-Skripten.
Dieser Beitrag wurde bisher 28 mal gelesen.