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] )

 

OptionenParsing-Optionen für ein „Datei-Parsing“ FOR.
AngebotEin 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.
BefehlEin Befehl oder eine Gruppe von Befehlen, die für jeden Wert der Variablen ausgeführt werden sollen.

 

/A: (Attributauswahl)

/N (Standardwerte)

/D(nur Verzeichnisse)

/O:... (Bestellung)

/F(Dateianalyse)

/R(ekursiv)

/H(ide Punkte)

/T (Trennzeichenliste)

/I Beschreibungsbereich

/W(Feldkarten)

/L (gezählte Schleife)

 

 

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_filesDie Anzahl der verarbeiteten Dateien
%_for_errorsDie 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

)

 

Arbeiten mit Dateien

 

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.)

 

Festlegung von 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.

 

Arbeiten mit Text

 

Festlegung von 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]

 

Abrufen von Text aus Dateien

 

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.

 

Text aus Dateien analysieren

 

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

 

„Gezählte“ FOR-Schleife

 

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

 

Das 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.

 

Verzeichnisrekursion

 

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) ...

 

Ausgabeumleitung

 

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

 

Sonstige Erläuterungen

 

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:

 

Das %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

 ...

)

 

Zubehör:

 

/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.

 

/DNur Unterverzeichnisse zurückgeben, außer „." und "..".

 

/FGibt 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.

 

/HUnterdrü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.

 

/LInterpretieren Sie die drei Werte in kompensieren wie die Anfang, Step und Ende Werte einer gezählten Schleife. Sehen Gezählte FOR-Schleifen.

 

/NJRekursieren Sie nicht in Symlinks oder Junctions (siehe /R).

 

/Ö:...Sortieren Sie die Dateien vor der Verarbeitung.

 

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:

 

nSortieren Sie nach Dateiname und Erweiterung, sofern nicht e ist ausdrücklich enthalten.
-Kehren Sie die Sortierreihenfolge für den nächsten Sortierschlüssel um
aSortieren Sie Namen und Erweiterungen in der Standard-ASCII-Reihenfolge statt numerisch, wenn numerische Teilzeichenfolgen im Namen oder in der Erweiterung enthalten sind.
cSortieren nach Komprimierungsverhältnis
dSortieren nach Datum und Uhrzeit (Älteste zuerst); siehe auch /T:acw
eNach Erweiterung sortieren
gGruppieren Sie zuerst die Unterverzeichnisse und dann die Dateien
iNach Beschreibung sortieren
oNach Eigentümer sortieren
rKehren Sie die Sortierreihenfolge für alle Optionen um
sNach Größe sortiert
tDas gleiche wie d
uUnsortiert
zDas 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.

 

/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.

 

/WDer FOR-Satz soll als Dateiname verarbeitet werden, auch wenn keine Platzhalter erkannt werden. (Dies ist nützlich, wenn Sie reguläre Ausdrücke mit FOR verwenden möchten.)