Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wählt einen Befehl für eine Datei oder eine Gruppe von Dateien aus und führt sie aus. Dieser Befehl wird am häufigsten in Batchdateien verwendet.
Syntax
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
Parameters
| Parameter | Description |
|---|---|
/P <pathname> |
Gibt den Pfad an, aus dem die Suche gestartet werden soll. Standardmäßig beginnt die Suche im aktuellen Arbeitsverzeichnis. |
/M <searchmask> |
Durchsucht Dateien gemäß der angegebenen Suchmaske. Die Standardmäßige Suchmaske ist *. |
| /S | Weist den Befehl forfiles an, rekursiv in Unterverzeichnissen zu suchen. |
/C <command> |
Führt den angegebenen Befehl für jede Datei aus. Befehlszeichenfolgen sollten in doppelte Anführungszeichen eingeschlossen werden. Der Standardbefehl ist "cmd /c echo @file". |
/D [{+\|-}][{<date> | <days>}] |
Wählt Dateien mit einem Datum der letzten Änderung innerhalb des angegebenen Zeitrahmens aus:
|
| /? | Zeigt den Hilfetext im cmd-Fenster an. |
Remarks
Der Befehl
forfiles /Sähneltdir /S.Sie können die folgenden Variablen in der Befehlszeichenfolge verwenden, wie mit der Befehlszeilenoption /C angegeben:
Variable Description @FILE File name. @FNAME Dateiname ohne Erweiterung. @EXT Dateinamenerweiterung. @PATH Vollständiger Pfad der Datei. @RELPATH Relativer Pfad der Datei. @ISDIR Wertet auf TRUE aus, wenn ein Dateityp ein Verzeichnis ist. Andernfalls wird diese Variable als FALSCH ausgewertet. @FSIZE Dateigröße in Byte. @FDATE Datumsstempel der letzten Änderung in der Datei. @FTIME Zeitstempel der letzten Änderung für die Datei. Mit dem Befehl forfiles können Sie einen Befehl für mehrere Dateien ausführen oder Argumente an mehrere Dateien übergeben. Sie können z. B. den Befehl type für alle Dateien in einer Struktur mit der Dateinamenerweiterung .txt ausführen. Alternativ können Sie jede Batchdatei (*.bat) auf Laufwerk C ausführen, wobei der Dateiname als erstes Argument Myinput.txt.
Dieser Befehl kann:
Wählen Sie Dateien anhand eines absoluten Datums oder eines relativen Datums aus, indem Sie den Parameter /d verwenden.
Erstellen Sie eine Archivstruktur von Dateien mithilfe von Variablen wie @FSIZE und @FDATE.
Unterscheiden Sie Dateien von Verzeichnissen mithilfe der variablen @ISDIR.
Fügen Sie Sonderzeichen in die Befehlszeile ein, indem Sie den Hexadezimalcode für das Zeichen im Format 0xHH verwenden (z. B. 0x09 für einen Tabulator).
Dieser Befehl funktioniert durch Implementieren des
recurse subdirectories-Flags für Tools, die nur eine einzelne Datei verarbeiten sollen.
Examples
Wenn Sie alle Batchdateien auf Laufwerk C auflisten möchten, geben Sie Folgendes ein:
forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"
Wenn Sie alle Verzeichnisse auf Laufwerk C auflisten möchten, geben Sie Folgendes ein:
forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"
Wenn Sie alle Dateien im aktuellen Verzeichnis auflisten möchten, die mindestens ein Jahr alt sind, geben Sie Folgendes ein:
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 anzuzeigen, die älter als der 1. Januar 2007 ist:
forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."
Wenn Sie die Dateinamenerweiterungen aller Dateien im aktuellen Verzeichnis im Spaltenformat auflisten und vor der Erweiterung eine Registerkarte hinzufügen möchten, geben Sie Folgendes ein:
forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"