for - Schleifenkonstrukt zur Wiederholung von Durchgängen bis eine Bedingung erfüllt ist - CMD Befehle Übersicht

Beschreibung
Schleifenkonstrukt zur Wiederholung von Durchgängen bis eine Bedingung erfüllt ist.
Bei diesem Konstrukt handelt es sich um ein sehr vielseitiges Werkzeug. Die Funktion lässt sich wohl am besten anhand von verschiedenen Beispielen erklären.

Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert /F den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Das ist eine
    Zeichenfolge in Anführungszeichen, welche eines oder mehrere Schlüssel-
    w”rter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateinamens-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei Datei.txt ausgewertet, Zeilen die
    mit einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token
    jeder Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trenn-
    zeichen sind Kommas und/oder Leerzeichen. In der FOR-Schleife wird der
    Ausdruck %i verwendet, um den 2. Token zu erhalten, %j für den 3. Token
    und %k, um alle übrigen Token zu erhalten. Dateinamen, die Leerzeichen
    enthalten, müssen Sie innerhalb doppelter Anführungszeichen angeben. Dazu
    müssen Sie die Option "usebackq" verwenden. Andernfalls werden doppelte  
    Anführungszeichen zur Definition eines auszuwertenden Literals
    verwendet.
 
    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt, es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als "z" zu deklarieren. Bedachten
    Sie, dass FOR-Variablen aus nur einem Buchstaben bestehen, Groá-/Klein-
    schreibung beachtet werden muss, dass sie global sind und nicht mehr als
    insgesamt 52 gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenfolge verwenden,
    indem Sie die Zeichenfolge in doppelten Anführungszeichen als Dateiensatz
    zwischen den Klammern angeben. Diese Zeichenfolge wird dabei als
    einzelne Zeile einer Datei betrachtet und ausgewertet.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls auszuwerten. Dazu geben Sie eine Zeichenfolge in einfachen
    Anführungszeichen als Dateiensatz zwischen den Klammern an. Diese
    Zeichenfolge wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei ausgewertet. Das folgende Beispiel listet die Um-
    gebungsvariablen im aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden wurde,
                  wird dieser Parameter zu einer leeren Zeichenfolge
                  expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                  kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse nach %I und erstellt den
                  Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                  Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erzeugt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenkette") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ('Zeichenkette') DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token)
    aufgerufen. Standardmäáig liefert /F den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Das ist eine
    Zeichenkette in Anführungszeichen, welche eines oder mehrere Schlüssel-
    w”rter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erzeugt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenkette in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenkette in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateinamens-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei Datei.txt ausgewertet, Zeilen die
    mit einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token
    jeder Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trenn-
    zeichen sind Kommas und/oder Leerzeichen. In der FOR-Schleife wird der
    Ausdruck %i verwendet, um den 2. Token zu erhalten, %j für den 3. Token
    und %k, um alle übrigen Token zu erhalten. Dateinamen, die Leerzeichen
    enthalten, müssen Sie innerhalb doppelter Anführungszeichen angeben. Dazu
    müssen Sie die Option "usebackq" verwenden. Andernfalls werden doppelte  
    Anführungszeichen zur Definition eines auszuwertenden Literals
    verwendet.
 
    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt, es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als 'z' zu deklarieren. Bedachten
    Sie, dass FOR-Variablen aus nur einem Buchstaben bestehen, Groá-/Klein-
    schreibung beachtet werden muss, dass sie global sind und nicht mehr als
    insgesamt 52 gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenkette verwenden,
    indem Sie die Zeichenkette in doppelten Anführungszeichen als Dateiensatz
    zwischen den Klammern angeben. Diese Zeichenkette wird dabei als
    einzelne Zeile einer Datei betrachtet und ausgewertet.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls auszuwerten. Dazu geben Sie eine Zeichenkette in einfachen
    Anführungszeichen als Dateiensatz zwischen den Klammern an. Diese
    Zeichenkette wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei ausgewertet. Das folgende Beispiel listet die Um-
    gebungsvariablen im aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN ((`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - Erzeugt nur den Laufwerkbuchstaben von %I.
    %~pI        - Erzeugt nur den Pfad von %I.
    %~nI        - Erzeugt nur den Dateinamen von %I.
    %~xI        - Erzeugt nur die Dateierweiterung von %I.
    %~sI        - Erzeugter Pfad enthält nur kurze Dateinamen.
    %~aI        - Erzeugt die Dateiattribute von %I.
    %~tI        - Erzeugt Datum und Zeit von %I.
    %~zI        - Erzeugt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden wurde,
                  wird dieser Parameter zu einer leeren Zeichenkette
                  expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - Erzeugt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - Erzeugt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                  kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse nach %I und erzeugt den
                  Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                  Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z.B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablennamen,
%i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erzeugt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenkette") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ('Zeichenkette') DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token)
    aufgerufen. Standardmäáig liefert /F den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Das ist eine
    Zeichenkette in Anführungszeichen, welche eines oder mehrere Schlüssel-
    w”rter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erzeugt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenkette in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenkette in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateinamens-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei Datei.txt ausgewertet, Zeilen die
    mit einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token
    jeder Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trennzeichen
    sind Kommas und/oder Leerzeichen. In der FOR-Schleife wird der Ausdruck %i
    verwendet, um den 2. Token zu erhalten, %j für den 3. Token und %k, um
    alle übrigen Token zu erhalten. Dateinamen, die Leerzeichen enthalten,
    müssen Sie innerhalb doppelter Anführungszeichen angeben. Dazu müssen
    Sie die Option "usebackq" verwenden. Andernfalls werden doppelte   
    Anführungszeichen zur Definition eines auszuwertenden Literals
    verwendet.
 
    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt, es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als 'z' zu deklarieren. Bedenken Sie,
    dass FOR-Variablen global sind und nicht mehr als insgesamt 52 zu einem
    bestimmten Zeitpunkt aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenkette verwenden,
    indem Sie die Zeichenkette in doppelten Anführungszeichen als Dateiensatz
    zwischen den Klammern angeben. Diese Zeichenkette wird dabei als
    einzelne Zeile einer Datei betrachtet und ausgewertet.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls auszuwerten. Dazu geben Sie eine Zeichenkette in einfachen
    Anführungszeichen als Dateiensatz zwischen den Klammern an. Diese
    Zeichenkette wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei ausgewertet. Das folgende Beispiel listet die Umgebungs-
    variablen im aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN ((`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - Erzeugt nur den Laufwerkbuchstaben von %I.
    %~pI        - Erzeugt nur den Pfad von %I.
    %~nI        - Erzeugt nur den Dateinamen von %I.
    %~xI        - Erzeugt nur die Dateierweiterung von %I.
    %~sI        - Erzeugter Pfad enthält nur kurze Dateinamen.
    %~aI        - Erzeugt die Dateiattribute von %I.
    %~tI        - Erzeugt Datum und Zeit von %I.
    %~zI        - Erzeugt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden wurde,
                  wird dieser Parameter zu einer leeren Zeichenkette
                  expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - Erzeugt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - Erzeugt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                  kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse nach %I und erzeugt den
                  Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                  Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z.B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei eines Satzes von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter
  (Satz)     Eine Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl     Befehl, der für jede Datei ausgeführt werden soll
  Parameter  Parameter und Optionen für die angegebenen Befehle

Um den FOR-Befehl in einem Batch-Programm zu benutzen, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablennamen,
%i und %I sind verschieden.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    root) für jedes darunterliegende Verzeichnis ausgeführt. Wenn kein
    Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    als Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erzeugt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateien-Satz) DO Befehl [Parameter]

    Der Dateien-Satz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird zur nächsten Datei des
    Satzes gegangen. Die Bearbeitung einer Datei erfolgt zeilenweise, jede
    einzelne Textzeile wird analysiert und in die entsprechenden Token (keinen
    oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann mit den
    Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token) aufgerufen.
    Standardmäáig liefert /F den ersten, durch ein Leerzeichen getrennten Token
    von jeder Zeile in jeder Datei. Leerzeilen werden übersprungen. Das
    standardmäáige Verhalten bei der Analyse kann wahlweise durch den Parameter
    "Optionen" überschrieben werden. Das ist eine Zeichenkette in Anführungs-
    zeichen, welche eines oder mehrere Schlüsselw”rter enthält, um verschiedene
    Parameter für die Analyse anzugeben. Diese Schlüsselw”rter sind:

        eol=c           - gibt das Zeichen für das Zeilenende an (nur eins)
        skip=n          - gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden
        delims=xxx      - gibt einen Satz von Trennzeichen an, das ersetzt die
                          Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden
                          Das führt dazu, daá zusätzliche Variablen erzeugt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.

    Folgendes Beispiel soll das nochmals verdeutlichen:

    FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei myfile.txt analysiert, Zeilen die mit
    einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token jeder
    Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trennzeichen sind
    Kommas und/oder Leerzeichen. In der FOR-Schleife wird der Ausdruck %i
    verwendet, um den 2. Token zu erhalten, %j für den 3. Token und %k, um
    alle übrigen Token zu erhalten.

    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als 'z' zu deklarieren. Bedenken Sie,
    daá FOR-Variablen global sind und nicht mehr als insgesamt 26 zu einem
    bestimmten Zeitpunkt aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenkette verwenden,
    indem Sie als Dateien-Satz zwischen den Klammern diese Zeichenkette in
    doppelten Anführungszeichen angeben. Diese Zeichenkette wird dabei als
    einzelne Zeile einer Datei betrachtet und analysiert.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls zu analysieren. Dazu geben Sie als Dateien-Satz zwischen den
    Klammern eine Zeichenkette in einfachen Anführungszeichen an. Diese
    Zeichenkette wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei analysiert. Das folgende Beispiel listet die Umgebungs-
    variablen im aktuellen Verzeichnis auf:

        FOR /F "delims==" %i IN ('set') DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax benutzen:

    %~fi        - expandiert %i zu einem vollständigen Dateinamen
    %~di        - erzeugt nur den Laufwerksbuchstaben von %i
    %~pi        - erzeugt nur den Pfad von %i
    %~ni        - erzeugt nur den Dateinamen von %i
    %~xi        - erzeugt nur die Dateierweiterung von %i
    %~si        - erzeugter Pfad enthält nur kurze Dateinamen
    %~$PATH:i   - durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %i zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenkette
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpi       - erzeugt den Laufwerksbuchstaben und Pfad von %i
    %~nxi       - erzeugt den Dateinamen und die Dateierweiterung von %i
    %~fsi       - expandiert %i zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält
    %~dp$PATH:i - durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %i und erzeugt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.

In den angegebenen Beispielen k”nnen %i und PATH durch andere gültige
Werte ersetzt werden. Seien Sie sorgfältig bei der Wahl der Buchstaben für Ihre
FOR-Variablen, wenn Sie die erweiterte Logik für die Ersetzung von Variablen
verwenden wollen. Andernfalls kann es zu einer widersprüchlichen Befehls-
syntax kommen.
Führt einen Befehl für jede Datei einer Dateigruppe einzeln aus.

FOR %Variable IN (Gruppe) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter.
  (Gruppe)   Eine Gruppe mit mindestens einer Datei. Platzhalter sind zulässig.
  Befehl     Befehl, der für jede Datei ausgeführt wird.
  Parameter  Parameter und Optionen für den angegebenen Befehl.

Geben Sie bei einem Stapelverarbeitungsprogramm in der FOR-Anweisung
statt %Variable %%Variable an.
Führt einen Befehl für jede Datei einer Dateigruppe einzeln aus.

FOR %Variable IN (Gruppe) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter.
  (Gruppe)   Eine Gruppe mit mindestens einer Datei. Platzhalter sind zulässig.
  Befehl     Befehl, der für jede Datei ausgeführt wird.
  Parameter  Parameter und Optionen für den angegebenen Befehl.

Geben Sie bei einem Stapelverarbeitungsprogramm in der FOR-Anweisung
statt %Variable %%Variable an.
Führt einen Befehl für jede Datei einer Dateigruppe einzeln aus.

FOR %Variable IN (Gruppe) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter.
  (Gruppe)   Eine Gruppe mit mindestens einer Datei. Platzhalter sind zulässig.
  Befehl     Befehl, der für jede Datei ausgeführt wird.
  Parameter  Parameter und Optionen für den angegebenen Befehl.

Geben Sie bei einem Stapelverarbeitungsprogramm in der FOR-Anweisung
statt %Variable %%Variable an.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert "/F" den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Dies ist eine
    Zeichenfolge in Anführungszeichen, welche mindestens ein Schlüssel-
    wort enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateien-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei "Datei.txt" ausgewertet, Zeilen
    die mit einem Semikolon beginnen werden ignoriert, für den 2. und
    3. Token jeder Zeile werden die Befehle in der FOR-Schleife ausge-
    führt. Trennzeichen sind Kommas und/oder Leerzeichen. In der FOR-
    Schleife wird der Ausdruck "%i" verwendet, um den 2. Token zu
    erhalten, "%j" für den 3. Token und "%k", um alle übrigen Token
    zu erhalten. Dateinamen, die Leerzeichen enthalten, müssen Sie
    innerhalb doppelter Anführungszeichen angeben. Dazu müssen Sie
    die Option "usebackq" verwenden. Andernfalls werden doppelte
    Anführungszeichen zur Definition eines auszuwertenden Literals ver-
    wendet.

    Dabei ist "%i" explizit deklariert, während "%j" und "%k" implizit
    durch die Option "tokens=" deklariert werden. Sie k”nnen bis zu
    26 Token durch diese Option angeben, vorausgesetzt, es wird da-
    durch nicht versucht, eine Variable mit einem Buchstaben grӇer als
    "z" zu deklarieren. Bedachten Sie, dass FOR-Variablen aus nur
    einem Buchstaben bestehen, Groá-/Kleinschreibung beachtet wer-
    den muss, dass sie global sind und nicht mehr als insgesamt 52
    gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl "FOR /F" auch direkt mit einer Zeichenfolge
    verwenden, indem Sie die Zeichenfolge in doppelten Anführungszei-
    chen als Dateiensatz zwischen den Klammern angeben. Diese Zei-
    chenfolge wird dabei als einzelne Zeile einer Datei betrachtet und
    ausgewertet.

    Schlieálich k”nnen Sie den Befehl "FOR /F" auch verwenden, um
    die Ausgabe eines Befehls auszuwerten. Dazu geben Sie eine Zei-
    chenfolge in einfachen Anführungszeichen als Dateiensatz zwischen
    den Klammern an. Diese  Zeichenfolge wird dabei als Befehlszeile
    betrachtet und von einer untergeordneten "CMD.EXE" ausgeführt.
    Die Ausgabe dieses Befehls wird dann wie eine normale Datei ausge-
    wertet. Das folgende Beispiel listet die Umgebungsvariablen im
    aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                   Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %I zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenfolge
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %I und erstellt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                   Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter bestehend aus einem einzelnen
              Buchstaben.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablen-
namen, %i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erstellt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erstellt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ("Zeichenfolge") DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenfolgen bzw. Token)
    aufgerufen. Standardmäáig liefert /F den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Das ist eine
    Zeichenfolge in Anführungszeichen, welche eines oder mehrere Schlüssel-
    w”rter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erstellt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenfolge in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenfolge in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateinamens-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei Datei.txt ausgewertet, Zeilen die
    mit einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token
    jeder Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trenn-
    zeichen sind Kommas und/oder Leerzeichen. In der FOR-Schleife wird der
    Ausdruck %i verwendet, um den 2. Token zu erhalten, %j für den 3. Token
    und %k, um alle übrigen Token zu erhalten. Dateinamen, die Leerzeichen
    enthalten, müssen Sie innerhalb doppelter Anführungszeichen angeben. Dazu
    müssen Sie die Option "usebackq" verwenden. Andernfalls werden doppelte  
    Anführungszeichen zur Definition eines auszuwertenden Literals
    verwendet.
 
    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt, es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als "z" zu deklarieren. Bedachten
    Sie, dass FOR-Variablen aus nur einem Buchstaben bestehen, Groá-/Klein-
    schreibung beachtet werden muss, dass sie global sind und nicht mehr als
    insgesamt 52 gleichzeitig aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenfolge verwenden,
    indem Sie die Zeichenfolge in doppelten Anführungszeichen als Dateiensatz
    zwischen den Klammern angeben. Diese Zeichenfolge wird dabei als
    einzelne Zeile einer Datei betrachtet und ausgewertet.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls auszuwerten. Dazu geben Sie eine Zeichenfolge in einfachen
    Anführungszeichen als Dateiensatz zwischen den Klammern an. Diese
    Zeichenfolge wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei ausgewertet. Das folgende Beispiel listet die Um-
    gebungsvariablen im aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN (`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - erstellt nur den Laufwerkbuchstaben von %I.
    %~pI        - erstellt nur den Pfad von %I.
    %~nI        - erstellt nur den Dateinamen von %I.
    %~xI        - erstellt nur die Dateierweiterung von %I.
    %~sI        - erstellter Pfad enthält nur kurze Dateinamen.
    %~aI        - erstellt die Dateiattribute von %I.
    %~tI        - erstellt Datum und Zeit von %I.
    %~zI        - erstellt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden wurde,
                  wird dieser Parameter zu einer leeren Zeichenfolge
                  expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - erstellt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - erstellt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                  kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse nach %I und erstellt den
                  Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                  Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z. B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable   Ein ersetzbarer Parameter.
  (Satz)      Ein Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl      Befehl, der für jede Datei ausgeführt werden soll.
  Parameter   Parameter und Optionen für den angegebenen Befehl.

Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablennamen,
%i und %I sind nicht identisch.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    Stammverzeichnis) für jedes darunterliegende Verzeichnis ausgeführt.
    Wenn kein Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erzeugt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN ("Zeichenkette") DO Befehl [Parameter]
FOR /F ["Optionen"] %Variable IN (Befehl) DO Befehl [Parameter]

    oder, unter Verwendung der Option "usebackq":

FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN ('Zeichenkette') DO Befehl [Parameter]
FOR /F ["Optionen"] %variable IN (`Befehl`) DO Befehl [Parameter]


    Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
    des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
    jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
    (keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
    mit den Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token)
    aufgerufen. Standardmäáig liefert /F den ersten, durch ein Leerzeichen
    getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
    übersprungen. Das standardmäáige Verhalten bei der Analyse kann wahlweise
    durch den Parameter "Optionen" überschrieben werden. Das ist eine
    Zeichenkette in Anführungszeichen, welche eines oder mehrere Schlüssel-
    w”rter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
    Schlüsselw”rter sind:

        eol=c           - Gibt das Zeichen für Zeilenendekommentare an
                          (nur eins).
        skip=n          - Gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden.
        delims=xxx      - Gibt einen Satz von Trennzeichen an. Diese ersetzen
                          die Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden.
                          Das führt dazu, dass zusätzliche Variablen erzeugt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.
        usebackq        - Gibt an, dass die neue Semantik in Kraft ist,
                          wobei eine Zeichenkette in umgekehrten Anführungs-
                          zeichen als Befehl ausgeführt wird und eine
                          Zeichenkette in Anführungszeichen ein literaler
                          Befehl ist, der die Verwendung von doppelten
                          Anführungszeichen um Dateinamen in Dateinamens-
                          sätzen erlaubt.

    Einige Beispiele:

FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei Datei.txt ausgewertet, Zeilen die
    mit einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token
    jeder Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trennzeichen
    sind Kommas und/oder Leerzeichen. In der FOR-Schleife wird der Ausdruck %i
    verwendet, um den 2. Token zu erhalten, %j für den 3. Token und %k, um
    alle übrigen Token zu erhalten. Dateinamen, die Leerzeichen enthalten,
    müssen Sie innerhalb doppelter Anführungszeichen angeben. Dazu müssen
    Sie die Option "usebackq" verwenden. Andernfalls werden doppelte   
    Anführungszeichen zur Definition eines auszuwertenden Literals
    verwendet.
 
    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt, es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als 'z' zu deklarieren. Bedenken Sie,
    dass FOR-Variablen global sind und nicht mehr als insgesamt 52 zu einem
    bestimmten Zeitpunkt aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenkette verwenden,
    indem Sie die Zeichenkette in doppelten Anführungszeichen als Dateiensatz
    zwischen den Klammern angeben. Diese Zeichenkette wird dabei als
    einzelne Zeile einer Datei betrachtet und ausgewertet.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls auszuwerten. Dazu geben Sie eine Zeichenkette in einfachen
    Anführungszeichen als Dateiensatz zwischen den Klammern an. Diese
    Zeichenkette wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei ausgewertet. Das folgende Beispiel listet die Umgebungs-
    variablen im aktuellen Verzeichnis auf:

        FOR /F " usebackq delims==" %i IN ((`set`) DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschlieáenden 
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - Erzeugt nur den Laufwerkbuchstaben von %I.
    %~pI        - Erzeugt nur den Pfad von %I.
    %~nI        - Erzeugt nur den Dateinamen von %I.
    %~xI        - Erzeugt nur die Dateierweiterung von %I.
    %~sI        - Erzeugter Pfad enthält nur kurze Dateinamen.
    %~aI        - Erzeugt die Dateiattribute von %I.
    %~tI        - Erzeugt Datum und Zeit von %I.
    %~zI        - Erzeugt die DateigrӇe von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden wurde,
                  wird dieser Parameter zu einer leeren Zeichenkette
                  expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpI       - Erzeugt den Laufwerkbuchstaben und Pfad von %I.
    %~nxI       - Erzeugt den Dateinamen und die Dateierweiterung von %I.
    %~fsI       - Expandiert %I zu einem vollständigen Namen, der nur
                  kurze Dateinamen enthält.
    %~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse nach %I und erzeugt den
                  Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
    %~ftzaI     - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-
                  Befehls entspricht.

In den angegebenen Beispielen k”nnen %I und PATH durch andere gültige
Werte ersetzt werden. Der Ausdruck %~ wird durch einen gültigen Variablen-
namen für FOR abgeschlossen. Die Verwendung von Groábuchstaben für die Namen
von Variablen, wie z.B. %I, macht diese Ausdrücke leichter lesbar und
vermeidet Verwechslungen mit den eigentlichen Parametern.
Führt einen Befehl für jede einzelne Datei eines Satzes von Dateien aus.

FOR %Variable IN (Satz) DO Befehl [Parameter]

  %Variable  Ein ersetzbarer Parameter
  (Satz)     Eine Satz von mindestens einer Datei. Platzhalter sind zulässig.
  Befehl     Befehl, der für jede Datei ausgeführt werden soll
  Parameter  Parameter und Optionen für die angegebenen Befehle

Um den FOR-Befehl in einem Batch-Programm zu benutzen, geben Sie %%Variable
statt %Variable an. Beachten Sie die Groá-/Kleinschreibung bei Variablennamen,
%i und %I sind verschieden.

Wenn die Befehlserweiterungen aktiviert sind, werden folgende
Ergänzungen für den FOR-Befehl unterstützt:

FOR /D %Variable IN (Satz) DO Befehl [Parameter]

    Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
    auf Verzeichnisse und nicht auf Dateien.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

    Der FOR-Befehl wird ausgehend vom Verzeichnis [Laufwerk:]Pfad (als
    root) für jedes darunterliegende Verzeichnis ausgeführt. Wenn kein
    Verzeichnis nach der /R-Option angegeben ist, wird das aktuelle
    Verzeichnis verwendet. Wenn der Satz nur einen einzelnen Punkt als
    als Zeichen (.) enthält, wird nur die Verzeichnisstruktur aufgelistet.

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

    Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
    (5,-1,1) erzeugt die Folge (5 4 3 2 1).

FOR /F ["Optionen"] %Variable IN (Dateien-Satz) DO Befehl [Parameter]

    Der Dateien-Satz besteht aus einem oder mehreren Dateinamen. Jede Datei
    wird ge”ffnet, gelesen und bearbeitet, dann wird zur nächsten Datei des
    Satzes gegangen. Die Bearbeitung einer Datei erfolgt zeilenweise, jede
    einzelne Textzeile wird analysiert und in die entsprechenden Token (keinen
    oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann mit den
    Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token) aufgerufen.
    Standardmäáig liefert /F den ersten, durch ein Leerzeichen getrennten Token
    von jeder Zeile in jeder Datei. Leerzeilen werden übersprungen. Das
    standardmäáige Verhalten bei der Analyse kann wahlweise durch den Parameter
    "Optionen" überschrieben werden. Das ist eine Zeichenkette in Anführungs-
    zeichen, welche eines oder mehrere Schlüsselw”rter enthält, um verschiedene
    Parameter für die Analyse anzugeben. Diese Schlüsselw”rter sind:

        eol=c           - gibt das Zeichen für das Zeilenende an (nur eins)
        skip=n          - gibt die Anzahl der Zeilen an, die am Anfang einer
                          Datei übersprungen werden
        delims=xxx      - gibt einen Satz von Trennzeichen an, das ersetzt die
                          Standardtrennzeichen TAB und Leerzeichen.
        tokens=x,y,m-n  - gibt an, welche Token von jeder Zeile an die
                          FOR-Schleife weitergegeben werden
                          Das führt dazu, daá zusätzliche Variablen erzeugt
                          werden. Mit der Form m-n wird dabei ein Bereich vom
                          m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                          Zeichen ein Sternchen ist, wird eine zusätzliche
                          Variable deklariert, die den verbleibenden Text
                          dieser Zeile enthält.

    Folgendes Beispiel soll das nochmals verdeutlichen:

    FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

    Dadurch wird jede Zeile in der Datei myfile.txt analysiert, Zeilen die mit
    einem Semikolon beginnen werden ignoriert, für den 2. und 3. Token jeder
    Zeile werden die Befehle in der FOR-Schleife ausgeführt. Trennzeichen sind
    Kommas und/oder Leerzeichen. In der FOR-Schleife wird der Ausdruck %i
    verwendet, um den 2. Token zu erhalten, %j für den 3. Token und %k, um
    alle übrigen Token zu erhalten.

    Dabei ist %i explizit deklariert, während %j und %k implizit durch die
    Option "tokens=" deklariert werden. Sie k”nnen bis zu 26 Token durch diese
    Option angeben, vorausgesetzt es wird dadurch nicht versucht, eine
    Variable mit einem Buchstaben grӇer als 'z' zu deklarieren. Bedenken Sie,
    daá FOR-Variablen global sind und nicht mehr als insgesamt 26 zu einem
    bestimmten Zeitpunkt aktiv sein dürfen.

    Sie k”nnen den Befehl FOR /F auch direkt mit einer Zeichenkette verwenden,
    indem Sie als Dateien-Satz zwischen den Klammern diese Zeichenkette in
    doppelten Anführungszeichen angeben. Diese Zeichenkette wird dabei als
    einzelne Zeile einer Datei betrachtet und analysiert.

    Schlieálich k”nnen Sie den Befehl FOR /F auch verwenden, um die Ausgabe
    eines Befehls zu analysieren. Dazu geben Sie als Dateien-Satz zwischen den
    Klammern eine Zeichenkette in einfachen Anführungszeichen an. Diese
    Zeichenkette wird dabei als Befehlszeile betrachtet und von einer unter-
    geordneten CMD.EXE ausgeführt. Die Ausgabe dieses Befehls wird dann wie
    eine normale Datei analysiert. Das folgende Beispiel listet die Umgebungs-
    variablen im aktuellen Verzeichnis auf:

        FOR /F "delims==" %i IN ('set') DO @echo %i

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie k”nnen jetzt folgende Syntax benutzen:

    %~fi        - expandiert %i zu einem vollständigen Dateinamen
    %~di        - erzeugt nur den Laufwerksbuchstaben von %i
    %~pi        - erzeugt nur den Pfad von %i
    %~ni        - erzeugt nur den Dateinamen von %i
    %~xi        - erzeugt nur die Dateierweiterung von %i
    %~si        - erzeugter Pfad enthält nur kurze Dateinamen
    %~$PATH:i   - durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse und expandiert die erste
                   gefundene Datei %i zu dem vollständigen Dateinamen.
                   Wenn der Name der Umgebungsvariablen nicht definiert
                   ist oder diese Datei bei der Suche nicht gefunden wurde,
                   wird dieser Parameter zu einer leeren Zeichenkette
                   expandiert.

Diese Parameter k”nnen auch miteinander kombiniert werden:

    %~dpi       - erzeugt den Laufwerksbuchstaben und Pfad von %i
    %~nxi       - erzeugt den Dateinamen und die Dateierweiterung von %i
    %~fsi       - expandiert %i zu einem vollständigen Namen, der nur
                   kurze Dateinamen enthält
    %~dp$PATH:i - durchsucht die in der PATH-Umgebungsvariablen
                   angegebenen Verzeichnisse nach %i und erzeugt den
                   Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.

In den angegebenen Beispielen k”nnen %i und PATH durch andere gültige
Werte ersetzt werden. Seien Sie sorgfältig bei der Wahl der Buchstaben für Ihre
FOR-Variablen, wenn Sie die erweiterte Logik für die Ersetzung von Variablen
verwenden wollen. Andernfalls kann es zu einer widersprüchlichen Befehls-
syntax kommen.

Bei Verwendung in einem Batchprogramm muss der Parameter %Variable durch %%Variable ersetzt werden. Groß/Kleinschreibung ist hier ebenfalls zu beachten.

Das folgende Beispiel gibt alle Dateien mittels eines echo Befehls aus, die sich direkt in Laufwerk C:\ befinden.

FOR /R [[Laufwerk:]Pfad] %Variable IN (Satz) DO Befehl [Parameter]

Durch den vorangestellten Parameter /R werden alle vom Verzeichnis [Laufwerk:]Pfad (als
Stammverzeichnis) ausgehenden Unterverzeichnisse ausgegeben.

Weitere Beispiele die For verwenden:

Ausgabe verbundener Netzlaufwerke mit dem For Befehl
Alle verwendeten Laufwerksbuchstaben auflisten
Alle Ordner in einem bestimmten Ordner freigeben

Verfügbar unter
Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000, Windows NT4, Windows ME, Windows 98, Windows 95, Windows 2016 Server, Windows 2012 R2 Server, Windows 2008 R2 Server, Windows 2003 R2 Server, Windows 2000 Server, Windows NT4 Server

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.