Zweck: | Wiederholen Sie einen Befehl für mehrere Werte einer Variablen |
Format: | Datei- und String-Modus |
FÜR [Angebot...] [/I"text"] [/A:[[-|+]rhsadecijopt /D /F ["Optionen"] /H /Nj /O:[-]acdeginorstuz /R [Weg] [/T"Trennzeichen"] /W ] %var IN (@]kompensieren) TUN Befehl | (Befehl ... [VERLASSEN] )
Zählmodus
FOR /L %var IN (Start, Schritt, Ende) DO-Befehl | (Befehl ... [LEAVEFOR] )
Optionen | Parsing-Optionen für ein „Datei-Parsing“ FOR. |
Angebot | Ein oder mehrere Angebot Spezifikationen |
Weg | Das Startverzeichnis für ein „rekursives“ FOR. |
%var | Die im Befehl zu verwendende Variable („FOR-Variable“). |
kompensieren | Eine Reihe von Werten für die Variable. |
Anfang | Der Startwert für ein „gezähltes“ FOR. |
Step | Der Inkrementwert für ein „gezähltes“ FOR. |
Ende | Der Grenzwert für ein „gezähltes“ FOR. |
Befehl | Ein Befehl oder eine Gruppe von Befehlen, die für jeden Wert der Variablen ausgeführt werden sollen. |
/N (Standardwerte) |
|
|
Dateiauswahl
Unterstützt Attributschalter, erweitert Platzhalter, Bereiche, mehrere Dateinamen und Listen einschließen.
Bereiche müssen unmittelbar nach dem Schlüsselwort FOR nach Aliaserweiterungen (falls vorhanden) erscheinen und wirken sich nur auf die Auswahl von Dateien aus, die mit Platzhaltern angegeben werden.
Verwenden Sie Platzhalter mit Vorsicht auf LFN-Volumen; sehen LFN-Dateisuche für weitere Einzelheiten.
Verwendung:
FOR beginnt mit der Erstellung eines kompensieren. Anschließend wird für jedes Mitglied von ein Befehl ausgeführt kompensieren. Der Befehl kann ein interner Befehl, ein Alias, ein externer Befehl oder eine Batchdatei sein. Die Mitglieder von kompensieren kann eine Liste von Dateinamen, Textzeichenfolgen, eine Gruppe numerischer Werte oder aus einer Dateiliste gelesener Text sein.
Wann kompensieren aus Text oder mehreren separaten Dateinamen besteht (keine Include-Liste), müssen die Elemente durch Leerzeichen, Tabulatoren oder Kommas getrennt werden.
FOR enthält eine große Anzahl von Optionen, von denen einige Funktionen duplizieren, die in anderen internen Befehlen verfügbar sind. Es unterstützt auch zusätzliche Konventionen, die in unseren anderen Befehlen nicht zu finden sind und aus Kompatibilitätsgründen mit enthalten sind CMD.
Die ersten drei Abschnitte unten (Arbeiten mit Dateien, Arbeiten mit Text und Abrufen von Text aus Dateien) beschreiben den Befehl FOR und die darin enthaltenen Erweiterungen TCC. Die Abschnitte über Text aus Dateien analysieren und Gezählte FOR-Schleifen Beschreiben Sie Funktionen, die zur Kompatibilität mit hinzugefügt wurden CMD. Die Abschnitte Verzeichnisrekursion und Ausgabeumleitung weisen Sie auf besondere Überlegungen hin. Der Abschnitt mit dem Titel Sonstige Erläuterungen enthält Informationen, die Sie möglicherweise benötigen, wenn Sie einen Aspekt des FOR-Befehls häufig verwenden.
FOR setzt zwei interne Variablen:
%_for_files | Die Anzahl der verarbeiteten Dateien |
%_for_errors | Die Anzahl der Fehler |
Besitzt das Doppelte CMD-Fehler Konfigurationsoption ist festgelegt, TCC emuliert undokumentiertes CMD-Verhalten, wenn FOR kompensieren Argumente werden über mehrere Zeilen verteilt. Zum Beispiel:
für %a in (
dank One
XNUMX
nach drei
) Tun (
Echo %a
)
Normalerweise kompensieren ist eine Liste von Dateien, die mit Platzhaltern angegeben werden. Wenn Sie beispielsweise diese Zeile in einer Batchdatei verwenden:
für %x in (*.txt) Liste %x
Dann LISTE wird für jede Datei im aktuellen Verzeichnis mit der Erweiterung einmal ausgeführt .TXT. Die FOR-Variable %x wird der Reihe nach auf jeden Dateinamen gesetzt, dann wird der LIST-Befehl für jede Datei ausgeführt. (Sie könnten das Gleiche einfacher mit einem einfachen machen LISTE *.TXT. Wir haben hier FOR verwendet, damit Sie anhand eines einfachen Beispiels ein Gefühl dafür bekommen, wie es funktioniert. Viele der Beispiele in diesem Abschnitt sind auf die gleiche Weise aufgebaut.)
Stelle den kann mehrere Dateien und Listen einschließen, wie folgt:
Geben Sie für %x in (d:\*.txt;*.doc;*.asc e:\test\*.txt;*.doc) %x ein
FÜR unterstützt Wildcards und erweiterte Wildcards, sowie erweitertes übergeordnetes Verzeichnis Namen, z.B, ...\*.txt um alles zu verarbeiten .TXT Dateien, die im Verzeichnis 2 Ebenen über dem aktuellen Verzeichnis enthalten sind.
Standardmäßig sind die Mitglieder von kompensieren die Platzhalter enthalten, stimmen nur mit Dateien überein, nicht mit Verzeichnissen.
Wenn Sie FOR auf einem LFN-Laufwerk verwenden, müssen Sie alle Dateinamen innerhalb des Satzes in Anführungszeichen setzen, die Leerzeichen oder Sonderzeichen enthalten. Die gleiche Einschränkung kann für Namen gelten, die in der FOR-Variablen zurückgegeben werden, wenn Sie sie an übergeben TCC interne Befehle oder andere Befehle, bei denen Dateinamen mit Leerzeichen in Anführungszeichen gesetzt werden müssen. FOR setzt zurückgegebene Namen nicht automatisch in Anführungszeichen, selbst wenn Sie Anführungszeichen in set eingefügt haben.
Wenn der Satz Dateinamen enthält, kann die Dateiliste durch die Verwendung von Datum, Uhrzeit, Größe, Beschreibung und Dateiausschluss weiter verfeinert werden Bereiche. Der Bereich oder die Bereiche müssen unmittelbar nach dem Wort FOR platziert werden. Bereiche wirken sich nur auf die Mitglieder der Menge aus, die Platzhalter enthalten. Beispielsweise verarbeitet das folgende FOR alles *.TXT Dateien, die am 4. Dezember 2018 erstellt oder aktualisiert wurden, und der Datei ABC.LST unabhängig von ihrem Zeitstempel:
für /[d12-4-2018,+0] %x in (*.txt abc.lst) ...
If Befehl ist ein interner Befehl, der Bereiche unterstützt, in denen auch ein unabhängiger Bereich verwendet werden kann Befehl sich.
Sie können die Liste auch verfeinern, indem Sie sie mit einschränken /EIN: Option, um nur Dateien auszuwählen, die bestimmte Attribute haben.
Wenn Sie zur Angabe Platzhalter verwenden kompensieren, FOR durchsucht das Verzeichnis und findet jede Datei, die mit den von Ihnen angegebenen Platzhalternamen übereinstimmt. Wenn Sie während der Verarbeitung des FOR-Befehls eine neue Datei erstellen, die eingebunden werden könnte kompensieren, kann es in einer späteren Iteration desselben FOR-Befehls erscheinen oder auch nicht. Ob die neue Datei angezeigt wird oder nicht, hängt von ihrem physischen Speicherort in der Verzeichnisstruktur ab. Wenn Sie beispielsweise FOR verwenden, um einen Befehl für alle auszuführen.TXT Dateien, und der Befehl erstellt auch eine oder mehrere neue .TXT Dateien werden diese neuen Dateien möglicherweise während des aktuellen FOR-Befehls verarbeitet oder nicht, je nachdem, wo sie in der physischen Struktur des Verzeichnisses platziert sind. Dies ist eine Windows-Einschränkung TCC hat keine Kontrolle. Um konsistente Ergebnisse zu erzielen, sollten Sie daher FOR-Befehle erstellen, die keine Dateien erstellen, die Teil des Satzes für den aktuellen Befehl werden könnten.
Stelle den können anstelle von Dateinamen auch aus Text bestehen. Um beispielsweise drei Dateien mit dem Namen zu erstellen file1, file2 und file3, jeweils mit einer Leerzeile:
für %suffix in (1 2 3) echo. > Datei%suffix
Sie können als Text auch die Namen von Umgebungsvariablen verwenden. In diesem Beispiel werden der Name und der Inhalt mehrerer Variablen aus der Umgebung angezeigt (siehe die allgemeine Diskussion der). Arbeitsumfeld Einzelheiten zur Verwendung von eckigen Klammern beim Erweitern von Umgebungsvariablen finden Sie hier:
für %var in (path prompt comspec) echo %var=%[%var]
Wenn der Name einer Datei in kompensieren ist mit vorangestellt @ („at“-Zeichen) gilt es als @file-Liste. FOR extrahiert jede Zeile aus der Datei und platziert sie in der FOR-Variablen.
Warnung: wenn die Zeile Zeichen enthält, die für syntaktisch bedeutsam sind TCC, zum Beispiel eines der Zeichen , es kann unerwünschte Auswirkungen haben. Sie können die /X-Option von verwenden SETDOS um sie zu mildern.
Wenn Du @CON Als Dateiname liest FOR aus der Standardeingabe (typischerweise eine umgeleitete Eingabedatei) oder aus einer Pipe. Wenn du benutzt @CLIP: (oder @CLIP0: - @CLIP9:) als Dateinamen, FOR liest jeden in der Windows-Zwischenablage verfügbaren Text. Sehen Umleitung und Rohrleitung Weitere Informationen zu diesen Funktionen finden Sie hier.
See @file-Liste für weitere Details.
Eine andere Methode, mit Text aus Dateien zu arbeiten, besteht darin, jede Zeile jeder Datei mit FOR für Sie analysieren zu lassen. Um mit der Dateianalyse von FOR zu beginnen, müssen Sie Folgendes verwenden /F Option und fügen Sie einen oder mehrere Dateinamen in den Satz ein. Wenn Sie diese Form von FOR verwenden, muss der Variablenname aus einem einzelnen Buchstaben bestehen, z. B. %a.
Diese Analysemethode ist aus Kompatibilitätsgründen enthalten CMD, kann umständlich und unflexibel sein. Für eine leistungsfähigere Methode verwenden Sie FOR with @Dateinamen wie die kompensieren um jede Zeile aus der Datei abzurufen, wie im vorherigen Abschnitt beschrieben, und variable Funktionen wie zu verwenden @FELD, @INSTR, @LINKS, @RECHTS und @WORT um die Zeile zu analysieren (siehe Variable Funktionen Informationen zu Variablenfunktionen finden Sie hier.
Standardmäßig extrahiert FOR das erste Wort oder Token aus jeder Zeile und gibt es in der Variablen zurück. Um beispielsweise das erste Wort in jeder Zeile der Datei anzuzeigen FLIST.TXT:
für /f %a in (flist.txt) echo %a
Sie können steuern, wie FOR /F jede Zeile analysiert, indem Sie eine oder mehrere Parsing-Optionen in einer in Anführungszeichen gesetzten Zeichenfolge direkt nach dem angeben /F. Die verfügbaren Optionen sind:
überspringen=n: FOR /F wird übersprungen n Zeilen am Anfang jeder Datei, bevor der Rest der Datei analysiert wird.
token=n, m, ...: Standardmäßig gibt FOR /F nur das erste Wort oder zurück Zeichen aus jeder analysierten Zeile in der von Ihnen genannten Variablen. Mit dieser Option können Sie mehr als ein Token in der Variablen oder Token in mehreren Variablen zurückgeben.
Auf diese Option folgt eine durch Kommas getrennte Liste von Zahlen. Die erste Zahl teilt FOR /F mit, welches Token in der ersten Variablen zurückgegeben werden soll, die zweite Zahl gibt an, welches in der zweiten Variablen zurückgegeben werden soll usw. Die Variablen folgen einander alphabetisch, beginnend mit der Variablen, die Sie in der FOR-Befehlszeile benennen. Dieses Beispiel gibt das erste Wort jeder Zeile in TEST.TXT zurück %d, der zweite in %eund der dritte in %f:
für /f "tokens=1,2,3" %d in (test.txt) ...
Sie können auch einen Bereich von Token angeben, indem Sie die Zahlen durch einen Bindestrich trennen -.
eol=c: Wenn FOR /F das Zeichen findet c In der Zeile geht es davon aus, dass das Zeichen und der darauf folgende Text Teil eines Kommentars sind, und ignoriert den Rest der Zeile.
delims=xxx..: Standardmäßig betrachtet FOR /F Leerzeichen, Tabulatoren und Kommas als Wort- oder Token-Trennzeichen. Diese Option ersetzt diese Trennzeichen durch alle Zeichen, die dem Gleichheitszeichen bis zum Ende der Zeichenfolge folgen. Diese Option muss daher die letzte sein, die in der zitierten Optionszeichenfolge verwendet wird.
usebackq : Dupliziert das Peinliche CMD Syntax. Eine in Anführungszeichen gesetzte Zeichenfolge wird als Befehl ausgeführt. Eine Zeichenfolge in einfachen Anführungszeichen ist eine Literalzeichenfolge. und doppelte Anführungszeichen zitieren Dateinamen im Dateisatz. Wir empfehlen nicht usebackq für Batchdateien, für die geschrieben wurde TCC, wie TCC hat viel elegantere Möglichkeiten, die gleichen Dinge zu tun.
Sie können FOR /F auch verwenden, um eine einzelne Zeichenfolge anstelle jeder Zeile einer Datei zu analysieren, indem Sie die Zeichenfolge in Anführungszeichen als verwenden gesetzt. Mit diesem Befehl wird beispielsweise eine Variable zugewiesen A zur Saite fehlen uns die Worte., B zu isusw., dann anzeigen fehlen uns die Worte.:
for /f „tokens=1,2,3,4“ %a in („das ist ein Test“) echo %a
Die „gezählt FÜR"-Schleife ist aus Kompatibilitätsgründen enthalten CMD. In den meisten Fällen finden Sie das DO Befehl nützlicher für die Durchführung gezählter Schleifen.
In einem gezählten FOR-Befehl wird der kompensieren besteht aus numerischen Werten anstelle von Text oder Dateinamen. Um einen gezählten FOR-Befehl zu beginnen, müssen Sie den verwenden /L Option und fügen Sie dann drei durch Kommas getrennte Werte ein kompensieren. Dies sind die Anfang, Step und Ende Werte. Während der ersten Iteration der FOR-Schleife wird die Variable gleich gesetzt Anfang Wert. Vor jeder Iteration wird die Variable um erhöht Step Wert. Die Schleife endet, wenn die Variable den Wert überschreitet Ende Wert. In diesem Beispiel werden die Zahlen von 1 bis 10 gedruckt:
für /l %val in (1,1,10) echo %val
In diesem Beispiel werden die ungeraden Zahlen ausgedruckt 1 zu 10 (1, 3, 5, 7 und 9):
für /l %val in (1,2,10) echo %val
Die Step Der Wert kann negativ sein. Wenn dies der Fall ist, wird die Schleife beendet, wenn die Variable kleiner als der Wert ist Ende Wert.
Numerische Eingaben können entweder im Dezimalformat (eine Folge von 0–9 Ziffern) oder im Hexadezimalformat („0x“, gefolgt von einer Folge von 0–F Hexadezimalziffern) eingegeben werden.
WARNUNG! Es dürfen keine Leerzeichen dazwischen stehen Anfang und das darauffolgende Komma, noch dazwischen Step und das darauffolgende Komma. Leerzeichen nach dem Komma werden akzeptiert.
Standardmäßig funktioniert FOR nur mit Dateien im aktuellen Verzeichnis oder einem angegebenen Verzeichnis. Optionsschalter /R Gibt an, dass die Suche Unterverzeichnisse rekursiv verarbeiten soll. Wenn Sie unmittelbar danach einen Verzeichnisnamen angeben /R, FOR startet in diesem Verzeichnis und durchsucht dann jedes seiner Unterverzeichnisse. Wenn nach dem kein Verzeichnis angegeben ist /R, startet die Suche im aktuellen Standardverzeichnis. Wenn Sie ein Verzeichnis angeben, und Da sein Name alle Sonderzeichen enthält, muss er in doppelte Anführungszeichen gesetzt werden. Beispielsweise muss es in Anführungszeichen gesetzt werden, wenn es mit Hilfe einer Umgebungsvariablen angegeben wird, z. B. %windir\command.
Es gibt zwei Unterschiede beim Aufruf von Befehl verursacht durch Verzeichnisrekursion:
•Die Schleifenkontrollvariable enthält den vollständigen Namen der passenden Datei
•Befehl wird ausgeführt, wobei das Standardverzeichnis auf das Verzeichnis eingestellt ist, in dem die Datei gefunden wurde
Dieses Beispiel verarbeitet alles .TXT Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen:
für /r %x in (*.txt) ...
Dieses Beispiel funktioniert mit allen .BAK Dateien auf dem Laufwerk D:
für /r d:\ %x in (*.bak) ...
Die standardmäßige Ausgabeumleitung (d. h. für ... > Dateiname) erstellt in jeder Iteration eine neue Ausgabedatei. Wenn Dateinamen Enthält keinen absoluten Dateipfad, wird er relativ zum dann aktuellen Standardverzeichnis erstellt. Wenn Sie die 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.:
(für %x im Befehl (set)) > Dateiname
•Sie können entweder verwenden % or %% vor dem Variablennamen (jung) im Befehl. Beide Formen funktionieren, unabhängig davon, ob der FOR-Befehl über die Befehlszeile eingegeben wird oder Teil einer Alias- oder Batchdatei ist. (CMD was eine einzige erfordert % (wenn FOR in der Befehlszeile verwendet wird, erfordert jedoch %%, wenn FOR in einer Batchdatei verwendet wird.) Beachten Sie, dass Sie mindestens eines haben müssen % Zeichen vorhanden.
•Der Variablenname kann bis zu 80 Zeichen lang sein.
•Wenn der FOR-Befehl ein Alias ist, z. B. alias for=*for /h, Angebot Spezifikationen werden ignoriert.
•Das Wort DO ist unnötig, wird aber akzeptiert. Verwechseln Sie es nicht mit etwas völlig Unabhängigem DO Befehl.
•Wenn der Name der FOR-Variablen jung ist aus Kompatibilitätsgründen ein einzelnes Zeichen CMD, wird es in der Umgebung auf eine besondere Weise erstellt, die eine vorhandene Umgebungsvariable mit demselben Namen nicht überschreibt. Wo auch immer Befehl Enthält das %-Zeichen, direkt gefolgt von dem Zeichen, das den Namen der FOR-Variablen darstellt, wird es durch seinen Wert ersetzt, unabhängig von den darauf folgenden Zeichen. Der folgende Befehl versucht beispielsweise hinzuzufügen a: und b: bis zum Ende von PATH, funktioniert aber nicht wie vorgesehen:
für %p in (a: b:) Pfad %path;%p
Weg
b:ath;b:
Die %p in %Weg wurde als FOR-Variable interpretiert %p gefolgt vom Text ath, nicht das, was beabsichtigt war. Um dies zu umgehen, verwenden Sie einen anderen Buchstaben oder einen längeren Namen für die FOR-Variable oder verwenden Sie eckige Klammern um den Variablennamen, wie in den folgenden Beispielen gezeigt, wobei jedes dieser Beispiele das ursprüngliche Ziel erreicht:
für %p in (a: b:) Pfad %[Pfad];%p
für %x in (a: b:) Pfad %path;%x
für %px in (a: b:) Pfad %path;%px
•Wenn der Name der FOR-Variablen mehr als ein Zeichen enthält, wird er in der Umgebung erstellt und gelöscht, wenn FOR abgeschlossen ist, unabhängig davon, ob vor FOR eine Variable mit diesem Namen existierte oder nicht. Es kann nicht mit dem geändert werden SET, ESET, oder UNSET Befehle. Wenn Sie bereits eine Variable mit diesem Namen hatten, ist sie nicht mehr zugänglich. Zum Beispiel ein Befehl, der beginnt
für %pfad in ...
werde deinen aktuellen überschreiben PATH Einstellung, dann löschen PATH Variable vollständig, wenn FOR fertig ist.
•Befehl kann auch die FOR-Variable mit der speziellen Syntax von verwenden CMD beschrieben in Spezielle Syntax für CMD-Kompatibilität.
•Das folgende Beispiel verwendet FOR mit Variablenfunktionen, um die zu löschen .BAK Dateien, für die eine entsprechende . TXT Datei existiert im aktuellen Verzeichnis (dies sollte in einer Zeile eingegeben werden):
für %file in (*.txt) del %@name[%file].bak
Der obige Befehl funktioniert auf einem LFN-Laufwerk möglicherweise nicht ordnungsgemäß, da der zurückgegebene Befehl zurückgegeben wird FILE Die Variable enthält möglicherweise Leerzeichen. Um dieses Problem zu beheben, benötigen Sie zwei Anführungszeichensätze, einen für DEL und eine für %@NAME:
für %file in (*.txt) del „%@name[“%file“].bak“
•Sie können verwenden Befehlsgruppierung um mehrere Befehle für jedes Element in auszuführen kompensieren. Der folgende Befehl kopiert beispielsweise jeden .WKQ Datei im aktuellen Verzeichnis in die D:\WKSAVE Verzeichnis und ändert dann die Erweiterung jeder Datei im aktuellen Verzeichnis in .SAV:
[für %file in (*.wkq) (kopieren Sie %file d:\wksave\ & ren %file *.sav)
oder (in einer Batchdatei):
für %Datei in (*.wkq) (
%file d:\wksave\ kopieren
ren %file *.sav
)
•In einer Batchdatei können Sie verwenden GOSUB um für jedes Element in ein Unterprogramm auszuführen kompensieren. 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 in auszuführen kompensieren ohne Anrufeneine weitere Batchdatei erstellen.
•Eine ungewöhnliche Verwendung von FOR besteht darin, eine Sammlung von Batchdateien oder anderen Befehlen mit demselben Parameter auszuführen. Beispielsweise möchten Sie vielleicht, dass drei Batchdateien alle mit derselben Datendatei arbeiten. Der FOR-Befehl könnte so aussehen:
für %cmd in (filetest fileform fileprnt) %cmd datafile
Diese Zeile wird zu drei separaten Befehlen erweitert:
Dateitest-Datendatei
Dateiform Datendatei
fileprint-Datendatei
•FOR-Anweisungen können verschachtelt werden.
VERLASSEN
Das spezielle Schlüsselwort LEAVEFOR kann innerhalb einer FOR-Befehlsgruppe verwendet werden. LEAVEFOR beendet die aktuelle FOR-Verarbeitung und fährt mit der Zeile nach dem FOR-Befehl fort, ähnlich wie beim LEAVE-Schlüsselwort in a DO Befehl.
für %i in (*) (
...
if „%i“ == „xyz.abc“ Leavefor
...
)
Option:
/EIN: | Verarbeiten Sie nur die Dateien, die das/die angegebene(n) Attribut(e) haben. /EIN: wird nur bei der Verarbeitung von Wildcard-Dateinamen in verwendet kompensieren. Es wird für Dateinamen ohne Platzhalter oder andere Elemente ignoriert kompensieren. Sehen Attributschalter Informationen zu den Attributen, die folgen können /EIN:. |
Um beispielsweise nur die Dateien zu verarbeiten, für die das Archivattribut festgelegt ist:
für /a:a %f in (*) echo %f benötigt ein Backup!
Standard: /A:-DHS, also nur einschließen Dateien ohne das versteckt und System Attribute.
Sie können angeben /A:= , um einen Dialog anzuzeigen, der Ihnen beim Festlegen einzelner Attribute hilft.
/F | Gibt ein oder mehrere Wörter oder Token aus jeder Zeile jeder Datei zurück kompensierendem „Vermischten Geschmack“. Seine /F Auf die Option können eine oder mehrere Optionen in einer Zeichenfolge in Anführungszeichen folgen, die steuern, wie die Analyse durchgeführt wird. Sehen Text aus Dateien analysieren. |
/H | Unterdrückt die Zuweisung des „.“ und „..“ Verzeichnisse zur FOR-Variablen wenn Verzeichnisse explizit einbezogen werden Verwendung der /EIN: . |
/ICH"Text" | Wählen Sie Dateinamen aus, indem Sie den Text in ihren Beschreibungen abgleichen. Sehen Beschreibungsbereiche. |
/L | Interpretieren Sie die drei Werte in kompensieren wie die Anfang, Step und Ende Werte einer gezählten Schleife. Sehen Gezählte FOR-Schleifen. |
/NJ | Rekursieren Sie nicht in Symlinks oder Junctions (siehe /R). |
Sie können eine beliebige Kombination der folgenden Sortieroptionen verwenden. Wenn mehrere Optionen verwendet werden, wird die Auflistung mit der ersten Sortieroption als Primärschlüssel, der nächsten als Sekundärschlüssel usw. sortiert:
n | Sortieren Sie nach Dateiname und Erweiterung, sofern nicht e ist ausdrücklich enthalten. |
- | Kehren Sie die Sortierreihenfolge für den nächsten Sortierschlüssel um |
a | Sortieren Sie Namen und Erweiterungen in der Standard-ASCII-Reihenfolge statt numerisch, wenn numerische Teilzeichenfolgen im Namen oder in der Erweiterung enthalten sind. |
c | Sortieren nach Komprimierungsverhältnis |
d | Sortieren nach Datum und Uhrzeit (Älteste zuerst); siehe auch /T:acw |
e | Nach Erweiterung sortieren |
g | Gruppieren Sie zuerst die Unterverzeichnisse und dann die Dateien |
i | Nach Beschreibung sortieren |
o | Nach Eigentümer sortieren |
r | Kehren Sie die Sortierreihenfolge für alle Optionen um |
s | Nach Größe sortiert |
t | Das gleiche wie d |
u | Unsortiert |
z | Das gleiche wie s |
Die Option /O:... speichert alle übereinstimmenden Dateinamen und führt dann den angeforderten Vorgang aus. Dadurch wird das potenzielle Problem der mehrmaligen Verarbeitung von Dateien vermieden.
/Qn | /Q0 - entfernt doppelte Anführungszeichen aus dem Argument (normalerweise ein Dateiname), bevor das FOR-Ziel ausgeführt wird Befehl. |
/Q1 - Fügen Sie vor der Ausführung des FOR-Ziels einschließende doppelte Anführungszeichen hinzu, wenn der Dateiname eingebettete Leerzeichen oder Sonderzeichen enthält. Befehl.
/Q2 - Setzen Sie vor der Ausführung des FOR-Ziels immer doppelte Anführungszeichen um Dateinamen. Befehl.
Beispielsweise:
für /q1 %a in (f*.txt) mache echo %a
/R [Weg] | Suchen Sie im aktuellen Verzeichnis und allen seinen Unterverzeichnissen nach Dateien in kompensieren. Wenn der /R von einem Verzeichnisnamen gefolgt wird, suchen Sie nach Dateien in diesem Verzeichnis und allen seinen Unterverzeichnissen. Warnung: Wenn der Verzeichnisname Sonderzeichen enthält, einschließlich „%“, um eine Umgebungsvariable anzugeben, muss er in doppelte Anführungszeichen (") eingeschlossen werden. /R unterstützt Windows-Shell-Ordnernamen; siehe CSD für weitere Einzelheiten. |
/T"Text" | Geben Sie die Trennzeichen an, die beim Parsen eines Zeichenfolgensatzes verwendet werden sollen. |