| Zweck: | Wiederholung eines Befehls für mehrere Werte einer Variablen |
| Format: | Datei- und Stringmodus |
FOR [range...] [/I"text"] [/A:[[-|+]rhsadecijopt /D /F ["options"] /H /Nj /O:[-]acdeginorstuz /R [path] [/T"delimiters"] /W ] %var IN ([@]set) DO command | (command ... [LEAVEFOR] )
Gezählter Modus
FOR /L %var IN (start, step, end) DO command | (command ... [LEAVEFOR] )
| options | Parsing options for a "file parsing" FOR. |
| range | One or more range specifications |
| path | The starting directory for a "recursive" FOR. |
| %var | The variable to be used in the command ("FOR variable"). |
| set | A set of values for the variable. |
| start | The starting value for a "counted" FOR. |
| step | The increment value for a "counted" FOR. |
| end | The limit value for a "counted" FOR. |
| command | A command or group of commands to be executed for each value of the variable. |
/N (defaults) |
|
|
Dateiauswahl
Unterstützt Attributschalter, erweiterte Wildcards, Bereiche, mehrere Dateinamen und Include-Listen.
Bereiche müssen unmittelbar nach dem FOR-Schlüsselwort nach Alias-Erweiterungen (falls vorhanden) erscheinen und wirken sich nur auf die Auswahl von Dateien aus, die mit Wildcards angegeben wurden.
Verwenden Sie Wildcards mit Vorsicht auf LFN-Volumes; siehe LFN-Dateisuche für Details.
Verwendung:
FOR beginnt mit der Erstellung eines Sets. Dann wird ein Befehl für jedes Mitglied der Menge ausgeführt . Der Befehl kann ein interner Befehl, ein Alias, ein externer Befehl oder eine Batch-Datei sein. Die Mitglieder von set können eine Liste von Dateinamen, Textstrings, eine Gruppe von numerischen Werten oder aus einer Liste von Dateien gelesener Text sein.
Wenn set aus Text oder mehreren separaten Dateinamen besteht (keine Include-Liste), müssen die Elemente durch Leerzeichen, Tabulatoren oder Kommata getrennt werden.
FOR enthält eine große Anzahl von Optionen, von denen einige Funktionen anderer interner Befehle duplizieren. Es unterstützt auch zusätzliche Konventionen, die in unseren anderen Befehlen nicht zu finden sind und aus Gründen der Kompatibilität mit CMDaufgenommen wurden .
Die ersten drei Abschnitte (Arbeiten mit Dateien, Arbeiten mit Text und Abrufen von Text aus Dateien) beschreiben den FOR-Befehl und die Erweiterungen, die er in TCC. Die Abschnitte Parsen von Text aus Dateien und Gezählte FOR-Schleifen beschreiben Funktionen, die zur Kompatibilität mit CMD hinzugefügt wurden . Die Abschnitte Verzeichnisrekursion und Ausgaberückleitung weisen auf Besonderheiten hin. Der Abschnitt Sonstige Hinweise enthält Informationen, die Sie möglicherweise benötigen, wenn Sie einen Aspekt des FOR-Befehls ausgiebig verwenden.
FOR setzt zwei interne Variablen:
| %_for_files | Die Anzahl der verarbeiteten Dateien |
| %_for_errors | Die Anzahl der Fehler |
Wenn die Konfigurationsoption Duplicate CMD Bugs gesetzt ist , TCC ein undokumentiertes CMD-Verhalten nach, wenn die FOR-Argumente auf mehrere Zeilen verteilt sind. Zum Beispiel:
for %a in (
one
two
three
) do (
echo %a
)
Normalerweise istset eine Liste von Dateien, die mit Platzhaltern angegeben werden. Wenn Sie zum Beispiel diese Zeile in einer Batch-Datei verwenden:
for %x in (*.txt) list %x
Dann wird LIST für jede Datei im aktuellen Verzeichnis mit der Erweiterung .TXT einmal ausgeführt . Die FOR-Variable %x wird nacheinander auf jeden der Dateinamen gesetzt, dann wird der LIST-Befehl für jede Datei ausgeführt. (Sie könnten dasselbe einfacher mit einem einfachen LIST *.TXT machen . Wir haben FOR hier verwendet, damit Sie anhand eines einfachen Beispiels ein Gefühl dafür bekommen, wie es funktioniert. Viele der Beispiele in diesem Abschnitt sind auf dieselbe Weise aufgebaut.)
Set kann mehrere Dateien und Include-Listen einschließen, etwa so:
for %x in (d:\*.txt;*.doc;*.asc e:\test\*.txt;*.doc) type %x
FOR unterstützt Wildcards und erweiterte Wildcards sowie erweiterte übergeordnete Verzeichnisnamen, z. B....\*.txt, um alle . TXT-Dateien zu verarbeiten , die sich in dem Verzeichnis 2 Ebenen über dem aktuellen Verzeichnis befinden.
Standardmäßig passendie Mitglieder von set, die Wildcards enthalten, nur auf Dateien, nicht auf Verzeichnisse.
Wenn Sie FOR auf einem LFN-Laufwerk verwenden, müssen Sie alle Dateinamen innerhalb von set, die Leerzeichen oder Sonderzeichen enthalten, in Anführungszeichen setzen. Die gleiche Einschränkung gilt für Namen, die in der FOR-Variable zurückgegeben werden, wenn Sie sie an TCC interne Befehle oder andere Befehle weitergeben, die die Anführung von Dateinamen mit Leerzeichen erfordern. FOR setzt die zurückgegebenen Namen nicht automatisch in Anführungszeichen, auch wenn Sie Anführungszeichen in set angegeben haben.
Wenn set Dateinamen enthält, kann die Dateiliste durch die Verwendung von Datums-, Zeit-, Größen-, Beschreibungs- und Dateiausschlussbereichenweiter verfeinert werden. Der Bereich oder die Bereiche müssen unmittelbar nach dem Wort FOR stehen. Die Bereiche betreffen nur die Mitglieder von set, die Platzhalter enthalten. Der folgende FOR-Befehl verarbeitet beispielsweise alle *. TXT-Dateien, die am 4. Dezember 2018 erstellt oder aktualisiert wurden, sowie die Datei ABC.LST unabhängig von ihrem Zeitstempel:
for /[d12-4-2018,+0] %x in (*.txt abc.lst) ...
Wenn derBefehl ein interner Befehl ist, der Bereiche unterstützt, kann ein unabhängiger Bereich auch im Befehl selbst verwendet werden .
Sie können die Liste auch verfeinern, indem Sie sie mit der Option /A: einschränken, um nur Dateien auszuwählen, die bestimmte Attribute aufweisen.
Wenn Sie Wildcards verwenden, um einenBereichanzugeben , durchsucht FOR das Verzeichnis und findet jede Datei, die mit dem/den angegebenen Wildcard-Namen übereinstimmt. Wenn Sie während der Verarbeitung des FOR-Befehls eine neue Datei erstellen, die in die Menge aufgenommen werden könnte , kann es sein, dass sie in einer späteren Iteration desselben FOR-Befehls erscheint oder nicht. Ob die neue Datei erscheint oder nicht, hängt von ihrer physischen Position in der Verzeichnisstruktur ab. Wenn Sie beispielsweise FOR verwenden, um einen Befehl für alle . TXT-Dateien auszuführen, und der Befehl auch eine oder mehrere neue . TXT-Dateien erstellt, können diese neuen Dateien während des aktuellen FOR-Befehls verarbeitet werden oder nicht, je nachdem, wo sie in der physischen Struktur des Verzeichnisses platziert sind. Dies ist eine Windows-Beschränkung, über die TCC keine Kontrolle hat. Um konsistente Ergebnisse zu erzielen, sollten Sie daher FOR-Befehle konstruieren, die keine Dateien erstellen, die Teil der Menge des aktuellen Befehls werden könnten.
EineMenge kann auch aus Text anstelle von Dateinamen bestehen. Zum Beispiel, um drei Dateien mit den Namen file1, file2 und file3 zu erstellen, die jeweils eine Leerzeile enthalten:
for %suffix in (1 2 3) echo. > file%suffix
Sie können auch die Namen von Umgebungsvariablen als Text verwenden. In diesem Beispiel werden der Name und der Inhalt mehrerer Variablen aus der Umgebung angezeigt ( Einzelheiten zur Verwendung eckiger Klammern beim Expandieren von Umgebungsvariablenfinden Sie in der allgemeinen Diskussion über die Umgebung ):
for %var in (path prompt comspec) echo %var=%[%var]
Wenn dem Namen einer Datei in set ein @ ("at"-Zeichen) vorangestellt ist , wird sie als @Dateiliste betrachtet . FOR extrahiert jede Zeile aus der Datei und stellt sie in die Variable FOR.
Achtung: Wenn die Zeile Zeichen enthält, die syntaktisch bedeutsam sind für TCCsyntaktisch bedeutsam sind, z. B. eines der Zeichen <"[]|>, kann dies unerwünschte Auswirkungen haben. Sie können die Option /X von SETDOS verwenden , um diese abzuschwächen.
Wenn Sie @CON als Dateinamen verwenden , liest FOR von der Standardeingabe (normalerweise eine umgeleitete Eingabedatei) oder von einer Pipe. Wenn Sie@CLIP: (oder @CLIP0: - @CLIP9:) als Dateinamen verwenden, liest FOR jeden in der Windows-Zwischenablage verfügbaren Text. Siehe Umleitung und Piping für weitere Informationen zu diesen Funktionen.
Siehe @Dateiliste für weitere Details.
Eine andere Methode, mit Text aus Dateien zu arbeiten, besteht darin, FOR jede Zeile jeder Datei für Sie analysieren zu lassen. Um ein FOR zu starten, das Dateien analysiert, müssen Sie die Option /Fverwenden und einen oder mehrere Dateinamen in set einschließen. Wenn Sie diese Form von FOR verwenden, muss der Variablenname aus einem einzigen Buchstaben bestehen, z. B. %a.
Diese Methode des Parsings, die aus Kompatibilitätsgründen mit CMDeingeführt wurde , kann umständlich und unflexibel sein. Für eine leistungsfähigere Methode verwenden Sie FOR mit @filename als Set, um jede Zeile aus der Datei abzurufen, wie im vorherigen Abschnitt beschrieben, und verwenden Sie Variablenfunktionen wie @FIELD, @INSTR, @LEFT, @RIGHT und @WORD, um die Zeile zu analysieren (siehe Variablenfunktionen für Informationen über Variablenfunktionen).
Standardmäßig extrahiert FOR das erste Wort oder Token aus jeder Zeile und gibt es in der Variable zurück. Zum Beispiel, um das erste Wort in jeder Zeile in der Datei FLIST.TXTanzuzeigen :
for /f %a in (flist.txt) echo %a
Sie können die Art und Weise steuern, wie FOR /F jede Zeile analysiert, indem Sie eine oder mehrere Analyseoptionen in einer Anführungszeichenfolge direkt nach dem /Fangeben . Die verfügbaren Optionen sind:
skip=n: FOR /F überspringt n Zeilen am Anfang jeder Datei, bevor es den Rest der Datei analysiert.
tokens=n, m, ...: Standardmäßig gibt FOR /F nur das erste Wort oder Token aus jeder geparsten Zeile in der von Ihnen angegebenen Variablenzurück . Mit dieser Option können Sie festlegen, dass mehr als ein Token in der Variable oder Token in mehreren Variablen zurückgegeben werden.
Nach dieser Option folgt eine Liste von Zahlen, die durch Kommata getrennt sind. Die erste Zahl gibt FOR /F an, welches Token in der ersten Variablen zurückgegeben werden soll, die zweite Zahl gibt an, welches Token in der zweiten Variablen zurückgegeben werden soll, usw. Die Variablen folgen alphabetisch aufeinander, beginnend mit der Variable, die Sie in der FOR-Befehlszeile angeben. Dieses Beispiel gibt das erste Wort jeder Zeile in TEST.TXT in %d, das zweite in %e und das dritte in %f zurück:
for /f "tokens=1,2,3" %d in (test.txt) ...
Sie können auch einen Bereich von Token angeben, indem Sie die Zahlen mit einem Bindestrich trennen -.
eol=c: Wenn FOR /F das Zeichen c in der Zeilefindet , nimmt es an, dass das Zeichen und jeder darauf folgende Text Teil eines Kommentars sind und ignoriert den Rest der Zeile.
delims=xxx..: Standardmäßig sieht FOR /F Leerzeichen, Tabulatoren und Kommas als Wort- oder Token-Begrenzer an. Mit dieser Option werden diese Begrenzungszeichen durch alle Zeichen nach dem Gleichheitszeichen bis zum Ende der Zeichenkette ersetzt. Diese Option muss daher als letzte in der Zeichenkette für die Anführungszeichen verwendet werden.
usebackq : Dupliziert die umständliche CMD-Syntax. Eine Zeichenkette in Anführungszeichen wird als Befehl ausgeführt; eine Zeichenkette in einfachen Anführungszeichen ist eine literale Zeichenkette; und doppelte Anführungszeichen zitieren Dateinamen im Dateiset. Wir empfehlen ,backq nicht für Batch-Dateien zuverwenden, die für TCCgeschrieben wurden, da TCC hat viel elegantere Möglichkeiten, die gleichen Dinge zu tun.
Sie können auch FOR /F verwenden, um eine einzelne Zeichenkette anstelle jeder Zeile einer Datei zu analysieren, indem Sie die Zeichenkette in Anführungszeichen als Set verwenden . Dieser Befehl weist beispielsweise die Variable A der Zeichenkette this zu, B der Zeichenketteis usw., und zeigt dies dann an :
for /f "tokens=1,2,3,4" %a in ("this is a test") echo %a
Die "gezählte FOR"-Schleife ist aus Gründen der Kompatibilität mit CMD enthalten. In den meisten Fällen werden Sie den DO-Befehl für die Ausführung von gezählten Schleifen nützlicher finden.
Bei einem gezählten FOR-Befehl besteht die Menge aus numerischen Werten anstelle von Text oder Dateinamen. Um einen gezählten FOR-Befehl zu beginnen, müssen Sie die Option /L verwenden und dann drei durch Kommata getrennte Werte in set einfügen . Dies sind die Start-, Schritt- und Endwerte. Bei der ersten Iteration der FOR-Schleife wird die Variable gleich dem Startwert gesetzt. Vor jeder Iteration wird die Variable um den Schrittwert erhöht . Die Schleife endet, wenn die Variable den Endwert überschreitet . In diesem Beispiel werden die Zahlen von 1 bis 10 gedruckt:
for /l %val in (1,1,10) echo %val
In diesem Beispiel werden dieungeraden Zahlen von 1 bis 10 (1, 3, 5, 7 und 9) gedruckt:
for /l %val in (1,2,10) echo %val
Der Schrittwert kann negativ sein. Wenn dies der Fall ist, endet die Schleife, wenn die Variable kleiner als der Endwert ist .
Numeric input may be entered in either decimal format (a sequence of 0-9 digits) or in hexadecimal format ("0x" followed by a sequence of 0-F hex digits).
WARNUNG! Zwischenstart und dem nachfolgenden Komma sowie zwischen step und dem nachfolgenden Kommadarf kein Leerzeichen stehen. Ein Leerzeichen nach dem Komma ist zulässig.
Standardmäßig arbeitet FOR nur mit Dateien im aktuellen Verzeichnis oder in einem angegebenen Verzeichnis. Der Optionsschalter /R gibt an, dass die Suche rekursiv Unterverzeichnisse verarbeiten soll. Wenn Sie einen Verzeichnisnamen unmittelbar nach /R angeben , beginnt FOR in diesem Verzeichnis und durchsucht dann jedes seiner Unterverzeichnisse. Wenn nach /R kein Verzeichnis angegeben wird, beginnt die Suche im aktuellen Standardverzeichnis. Wenn Sie ein Verzeichnis angeben und dessen Name Sonderzeichen enthält, muss er in Anführungszeichen gesetzt werden. Er muss zum Beispiel in Anführungszeichen gesetzt werden, wenn er mit Hilfe einer Umgebungsvariablen angegeben wird, z . B.%windir\command.
Es gibt zwei Unterschiede beim Aufruf des Befehls, die durch die Verzeichnisrekursion verursacht werden:
•Die Schleifensteuervariable enthält den vollständigen Namen der passenden Datei
•derBefehl wird mit dem Standardverzeichnis ausgeführt, das auf das Verzeichnis eingestellt ist, in dem die Datei gefunden wurde
Dieses Beispiel verarbeitet alle . TXT-Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen:
for /r %x in (*.txt) ...
Dieses Beispiel funktioniert mit allen . BAK-Dateien auf Laufwerk D:
for /r d:\ %x in (*.bak) ...
Die Standard-Ausgabeumleitung (d. h.für ... > Dateiname) erzeugt bei jeder Iteration eine neue Ausgabedatei. Wenn filename keinen absoluten Dateipfad enthält, wird sie relativ zum dann aktuellen Standardverzeichnis erstellt. Wenn Sie eine Verzeichnisrekursion verwenden, ändert sich dieser Pfad für jedes verarbeitete Verzeichnis. Der einfachste Weg, eine einzelne Zieldatei zu erzwingen, besteht darin, den gesamten Befehl in Klammern zu setzen, z.B.::
(for %x in (set) command) > filename
•Sie können entweder % oder %% vor dem Variablennamen (var) in dem Befehlverwenden . Beide Formen funktionieren, unabhängig davon, ob der FOR-Befehl in der Befehlszeile eingegeben wird oder Teil eines Alias oder einer Batch-Datei ist.(CMD erfordert ein einzelnes %, wenn FOR in der Befehlszeile verwendet wird, aber %%, wenn FOR in einer Batch-Datei verwendet wird). Beachten Sie, dass mindestens ein %-Zeichen vorhanden sein muss .
•Der Variablenname kann bis zu 80 Zeichen lang sein.
•Wenn der FOR-Befehl ein Alias ist, z. B.alias for=*for /h, werden Bereichsangaben ignoriert.
•Das Wort DO ist unnötig, wird aber akzeptiert. Es ist nicht zu verwechseln mit dem völlig unabhängigen DO-Befehl.
•Wenn der Name der FOR-Variable var aus einem einzigen Zeichen besteht, wird sie aus Gründen der Kompatibilität mit CMD auf besondere Weise in der Umgebung angelegt, so dass eine vorhandene Umgebungsvariable mit demselben Namen nicht überschrieben wird. Wenn der Befehl das %-Zeichen unmittelbar nach dem Zeichen enthält, das der Name der FOR-Variable ist, wird er durch ihren Wert ersetzt, unabhängig von den nachfolgenden Zeichen. Der folgende Befehl versucht beispielsweise ,a: und b: an das Ende von PATH anzuhängen, was jedoch nicht wie vorgesehen funktioniert:
for %p in (a: b:) path %path;%p
path
b:ath;b:
Das %p in %path wurde als die FOR-Variable %p, gefolgt von dem Text ath, interpretiert , was nicht beabsichtigt war. Um dies zu umgehen, verwenden Sie einen anderen Buchstaben oder einen längeren Namen für die FOR-Variable oder setzen Sie eckige Klammern um den Variablennamen, wie in den folgenden Beispielen gezeigt:
for %p in (a: b:) path %[path];%p
for %x in (a: b:) path %path;%x
for %px in (a: b:) path %path;%px
•Wenn der Name der FOR-Variable mehr als ein Zeichen enthält, wird sie in der Umgebung angelegt und nach Beendigung von FOR gelöscht, unabhängig davon, ob eine Variable mit diesem Namen vor FOR existierte oder nicht. Sie kann nicht mit den Befehlen SET, ESET oder UNSET geändert werden . Wenn Sie bereits eine Variable mit diesem Namen hatten, ist sie nicht mehr zugänglich. Zum Beispiel überschreibt ein Befehl, der mit
for %path in ...
beginnt, überschreibt Ihre aktuelle PATH-Einstellung und löscht die PATH-Variable vollständig, wenn FOR beendet ist.
•Der Befehl kann die FOR-Variable auch mit der speziellen Syntax von CMD verwenden , die in Spezielle Syntax für CMD-Kompatibilität beschrieben ist.
•Im folgenden Beispiel wird FOR mit Variablenfunktionen verwendet, um die . BAK-Dateien zulöschen , für die eine entsprechende . TXT-Datei im aktuellen Verzeichnis existiert (dies sollte in einer Zeile eingegeben werden):
for %file in (*.txt) del %@name[%file].bak
Der obige Befehl funktioniert auf einem LFN-Laufwerk möglicherweise nicht richtig, da die zurückgegebene FILE-Variable Leerzeichen enthalten kann. Um dieses Problem zu beheben, benötigen Sie zwei Sätze von Anführungszeichen, einen für DEL und einen für %@NAME:
for %file in (*.txt) del "%@name["%file"].bak"
•Sie können die Befehlsgruppierung verwenden , um mehrere Befehle für jedes Element im Satz auszuführen . Zum Beispiel kopiert der folgende Befehl jede . WKQ-Datei im aktuellen Verzeichnis in das Verzeichnis D:\WKSAVE und ändert dann die Erweiterung jeder Datei im aktuellen Verzeichnis in .SAV:
for %file in (*.wkq) (copy %file d:\wksave\ & ren %file *.sav)
oder (in einer Batch-Datei):
for %file in (*.wkq) (
copy %file d:\wksave\
ren %file *.sav
)
•In einer Stapeldatei können Sie GOSUB verwenden , um ein Unterprogramm für jedes Element der Menge auszuführen . Innerhalb der Unterroutine kann die FOR-Variable wie eine Umgebungsvariable verwendet werden. Dies ist eine bequeme Möglichkeit, eine komplexe Befehlsfolge für jedes Element der Menge auszuführen , ohne eine andere Batch-Datei aufzurufen.
•Eine ungewöhnliche Verwendung von FOR besteht darin, eine Sammlung von Batch-Dateien oder anderen Befehlen mit demselben Parameter auszuführen. Sie könnten zum Beispiel drei Batchdateien haben wollen, die alle auf dieselbe Datendatei wirken. Der FOR-Befehl könnte wie folgt aussehen:
for %cmd in (filetest fileform fileprnt) %cmd datafile
Diese Zeile wird zu drei separaten Befehlen erweitert:
filetest datafile
fileform datafile
fileprnt datafile
•FOR-Anweisungen können verschachtelt werden.
LEAVEFOR
Das spezielle Schlüsselwort LEAVEFOR kann innerhalb einer FOR-Befehlsgruppe verwendet werden. LEAVEFOR bricht die aktuelle FOR-Verarbeitung ab und fährt mit der auf den FOR-Befehl folgenden Zeile fort, ähnlich wie das LEAVE Schlüsselwort in einem DO-Befehl.
for %i in (*) (
...
if "%i" == "xyz.abc" leavefor
...
)
Optionen:
| /A: | Verarbeitet nur die Dateien, die das/die angegebene(n) Attribut(e) haben. /A: wird nur bei der Verarbeitung von Platzhalter-Dateinamen in der Menge verwendet . Es wird bei Dateinamen ohne Platzhalter oder anderen Elementen in der Menge ignoriert . Informationen zu den Attributen, die auf /A: folgen können , finden Sie unter Attributschalter. |
Zum Beispiel, um nur Dateien zu verarbeiten, die das Attribut "Archiv" enthalten:
for /a:a %f in (*) echo %f needs a backup!
Standard: /A:-D-H-S, d. h. es werden nur Dateien ohne die Attribute "versteckt" und " System" berücksichtigt .
Sie können /A:=angeben , um einen Dialog anzuzeigen, der Ihnen hilft, einzelne Attribute zu setzen.
| /F | Gibt ein oder mehrere Wörter oder Token aus jeder Zeile jeder Datei im Satz zurück. Nach der Option /F können eine oder mehrere Optionen in Anführungszeichen angegeben werden, die bestimmen, wie das Parsing durchgeführt wird. Siehe Parsen von Text aus Dateien. |
| /H | Unterdrückt die Zuweisung der Verzeichnisse "." und ".." an die FOR-Variable , wenn Verzeichnissemit der Option /A:explizit einbezogen werden . |
| /I "text" | Wählt Dateinamen anhand des Textes in ihren Beschreibungen aus. Siehe Beschreibungsbereiche. |
| /L | Interpretiert die drei Werte in set als Start-, Schritt- und Endwerte einer gezählten Schleife. Siehe Gezählte FOR-Schleifen. |
| /Nj | Nicht in Symlinks oder Kreuzungen rekursieren (siehe /R). |
Sie können eine beliebige Kombination der unten aufgeführten Sortieroptionen verwenden. Wenn mehrere Optionen verwendet werden, wird die Liste nach der ersten Sortieroption als Primärschlüssel, der nächsten als Sekundärschlüssel usw. sortiert:
| n | Sortieren nach Dateiname und Erweiterung, sofern nicht ausdrückliche angegeben ist. |
| - | Umkehrung der Sortierreihenfolge für den nächsten Sortierschlüssel |
| a | Sortieren von Namen und Erweiterungen in Standard-ASCII-Reihenfolge statt numerisch, wenn der Name oder die Erweiterung numerische Teilstrings enthält. |
| c | Sortieren nach Kompressionsverhältnis |
| d | Sortieren nach Datum und Uhrzeit (älteste zuerst); siehe auch /T:acw |
| e | Sortieren nach Erweiterung |
| g | Erst Unterverzeichnisse, dann Dateien gruppieren |
| i | Sortieren nach Beschreibung |
| o | Sortieren nach Eigentümer |
| r | Umkehrung der Sortierreihenfolge für alle Optionen |
| s | Nach Größe sortieren |
| t | Gleich wie d |
| u | Unsortiert |
| z | Genau wie s |
Die Option /O:... speichert alle übereinstimmenden Dateinamen und führt dann die gewünschte Operation aus. Dadurch wird das mögliche Problem vermieden, dass Dateien mehr als einmal verarbeitet werden.
| /R [Pfad] | Sucht im aktuellen Verzeichnis und allen seinen Unterverzeichnissen nach Dateien in set. Wenn /R von einem Verzeichnisnamen gefolgt wird, werden die Dateien in diesem Verzeichnis und allen Unterverzeichnissen gesucht. Achtung: Wenn der Verzeichnisname Sonderzeichen enthält, einschließlich "%" zur Angabe einer Umgebungsvariablen, muss er in doppelte Anführungszeichen (") gesetzt werden. /R unterstützt Windows-Shell-Ordnernamen; siehe CDD für Details. |
| /T "text" | Geben Sie die Begrenzungszeichen an, die beim Parsen eines Stringsets verwendet werden sollen. |