forfilesforfiles

Wählt einen Befehl für eine Datei oder einen Satz von Dateien aus und führt ihn aus.Selects and runs a command on a file or set of files. Dieser Befehl wird am häufigsten in Batch Dateien verwendet.This command is most commonly used in batch files.

SyntaxSyntax

forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]

ParameterParameters

ParameterParameter BESCHREIBUNGDescription
/P <pathname>/P <pathname> Gibt den Pfad an, aus dem die Suche gestartet werden soll.Specifies the path from which to start the search. Standardmäßig beginnt die Suche im aktuellen Arbeitsverzeichnis.By default, searching starts in the current working directory.
/M <searchmask>/M <searchmask> Durchsucht Dateien entsprechend der angegebenen Such Maske.Searches files according to the specified search mask. Die standardmäßige searchmask ist * .The default searchmask is *.
/S/S Weist den forfiles -Befehl an, in Unterverzeichnissen rekursiv zu suchen.Instructs the forfiles command to search in subdirectories recursively.
/C <command>/C <command> Führt den angegebenen Befehl für jede Datei aus.Runs the specified command on each file. Befehls Zeichenfolgen sollten in doppelte Anführungszeichen eingeschlossen werden.Command strings should be wrapped in double quotes. Der Standardbefehl ist "cmd /c echo @file" .The default command is "cmd /c echo @file".
/D [{+\|-}][{<date> | <days>}]/D [{+\|-}][{<date> | <days>}] Wählt Dateien mit dem Datum der letzten Änderung innerhalb des angegebenen Zeitraums aus:Selects files with a last modified date within the specified time frame:
  • Wählt Dateien mit dem Datum der letzten Änderung, das später als oder gleich ( + ) oder früher als oder gleich ( - ) dem angegebenen Datum ist, wobei Date das Format mm/dd/yyyy hat.Selects files with a last modified date later than or equal to (+) or earlier than or equal to (-) the specified date, where date is in the format MM/DD/YYYY.
  • Wählt Dateien mit dem Datum der letzten Änderung, das später oder gleich ( + ) dem aktuellen Datum plus der angegebenen Anzahl von Tagen entspricht, oder früher oder gleich ( - ) dem aktuellen Datum abzüglich der angegebenen Anzahl von Tagen aus.Selects files with a last modified date later than or equal to (+) the current date plus the number of days specified, or earlier than or equal to (-) the current date minus the number of days specified.
  • Gültige Werte für Tage sind eine beliebige Zahl im Bereich 0 – 32768.Valid values for days include any number in the range 0–32,768. Wenn kein Vorzeichen angegeben ist, + wird standardmäßig verwendet.If no sign is specified, + is used by default.
/?/? Zeigt den Hilfetext im Fenster "cmd" an.Displays the help text in the cmd window.

BemerkungenRemarks

  • Der forfiles /S Befehl ähnelt dir /S .The forfiles /S command is similar to dir /S.

  • Sie können die folgenden Variablen in der Befehls Zeichenfolge verwenden, wie in der /C -Befehlszeilenoption angegeben:You can use the following variables in the command string as specified by the /C command-line option:

    VariableVariable BESCHREIBUNGDescription
    @FILE DateinameFile name.
    @FNAME Dateiname ohne Erweiterung.File name without extension.
    @EXT Dateinamenerweiterung.File name extension.
    @PATH Vollständiger Pfad der Datei.Full path of the file.
    @RELPATH Relativer Pfad der Datei.Relative path of the file.
    @ISDIR Ergibt true, wenn ein Dateityp ein Verzeichnis ist.Evaluates to TRUE if a file type is a directory. Andernfalls wird diese Variable zu false ausgewertet.Otherwise, this variable evaluates to FALSE.
    @FSIZE Dateigröße in Bytes.File size, in bytes.
    @FDATE Der Datumsstempel der letzten Änderung in der Datei.Last modified date stamp on the file.
    @FTIME Der Zeitstempel der letzten Änderung in der Datei.Last modified time stamp on the file.
  • Mit dem Befehl " forfiles " können Sie einen Befehl auf Ausführen oder Argumente an mehrere Dateien übergeben.The forfiles command lets you run a command on or pass arguments to multiple files. Beispielsweise können Sie den Befehl Befehl für alle Dateien in einer Struktur mit der Datei Namen Erweiterung ". txt" ausführen.For example, you could run the type command on all files in a tree with the .txt file name extension. Oder Sie können jede Batchdatei (*. bat) auf Laufwerk C ausführen, wobei der Dateiname Myinput.txt als erstes Argument ist.Or you could execute every batch file (*.bat) on drive C, with the file name Myinput.txt as the first argument.

  • Dieser Befehl kann folgende Aktionen ausführen:This command can:

    • Wählen Sie mit dem /d -Parameterdateien nach einem absoluten oder einem relativen Datum aus.Select files by an absolute date or a relative date by using the /d parameter.

    • Erstellen Sie eine Archivstruktur von Dateien, indem Sie Variablen wie @FSIZE und verwenden @FDATE .Build an archive tree of files by using variables such as @FSIZE and @FDATE.

    • Unterscheiden Sie Dateien aus Verzeichnissen mithilfe der- @ISDIR Variablen.Differentiate files from directories by using the @ISDIR variable.

    • Fügen Sie Sonderzeichen in der Befehlszeile ein, indem Sie den Hexadezimal Code für das Zeichen im Format 0x HH (z. b. 0x09 für eine Registerkarte) verwenden.Include special characters in the command line by using the hexadecimal code for the character, in 0x HH format (for example, 0x09 for a tab).

  • Dieser Befehl funktioniert durch Implementieren des- recurse subdirectories Flags für Tools, die ausschließlich für die Verarbeitung einer einzelnen Datei entworfen wurden.This command works by implementing the recurse subdirectories flag on tools that are designed to process only a single file.

BeispieleExamples

Um alle Batch Dateien auf Laufwerk C aufzulisten, geben Sie Folgendes ein:To list all of the batch files on drive C, type:

forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"

Um alle Verzeichnisse auf Laufwerk C aufzulisten, geben Sie Folgendes ein:To list all of the directories on drive C, type:

forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"

Um alle Dateien im aktuellen Verzeichnis aufzulisten, die mindestens ein Jahr alt sind, geben Sie Folgendes ein:To list all of the files in the current directory that are at least one year old, type:

forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."

Geben Sie Folgendes ein, um die Textdatei für jede Datei im aktuellen Verzeichnis, die älter als der 1. Januar 2007 ist, anzuzeigen:To display the text file is outdated for each of the files in the current directory that are older than January 1, 2007, type:

forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."

Wenn Sie die Dateinamen Erweiterungen aller Dateien im aktuellen Verzeichnis im Spalten Format auflisten und vor der Erweiterung eine Registerkarte hinzufügen möchten, geben Sie Folgendes ein:To list the file name extensions of all the files in the current directory in column format, and add a tab before the extension, type:

forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"

Zusätzliche ReferenzenAdditional References