Microsoft TechNet
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Forfiles

Forfiles

Wählt Dateien in einem Ordner oder einer Struktur für die Batchverarbeitung aus.

Syntax

forfiles [/p Pfad] [/m Suchmaske] [/s] [/c Befehl] [/d[{+ | -}] [{MM/TT/JJJJ | TT}]]

Parameter

/p Pfad
Gibt den Pfad an, in dem die Suche beginnen soll. Der Standardordner ist das aktuelle Arbeitsverzeichnis, das Sie durch Eingabe eines Punktes (.) angeben.
/m Suchmaske
Sucht Dateien gemäß den Angaben in Suchmaske. Die Standardsuchmaske ist *.*.
/s
Gibt an, dass forfiles auch Unterverzeichnisse durchsuchen soll.
/c Befehl
Führt den angegebenen Befehl für jede Datei aus. Befehlszeichenfolgen, die Leerzeichen enthalten, müssen in Anführungszeichen eingeschlossen werden. Der Standardbefehl ist "cmd /c echo @file".
/d[{+ | -}] [{TT/MM/JJJJ | TT}]
Wählt Dateien aus, deren Datum größer oder gleich (+) bzw. kleiner oder gleich (-) dem angegebenen Datum ist, wobei TT/MM/JJJJ dem angegebenen Datum und TT dem aktuellen Datum abzüglich TT Tagen entspricht. Wenn Sie + oder - nicht angeben, wird + verwendet. Der gültige Bereich für TT ist 0 - 32.768.
/?
Zeigt an der Eingabeaufforderung Hilfe an.

Hinweise

  • Forfiles wird am häufigsten in Batchdateien verwendet.
  • Forfiles /s ist mit dir /s vergleichbar.
  • In der folgenden Tabelle sind die Variablen aufgelistet, die Sie in der Befehlzeichenfolge /cBefehl verwenden können.

     

    Variable Beschreibung

    @file

    Dateiname

    @fname

    Dateiname ohne Erweiterung

    @ext

    Dateinamenerweiterung

    @path

    Vollständiger Pfad der Datei

    @relpath

    Relativer Pfad der Datei

    @isdir

    Ergibt TRUE, wenn ein Dateityp ein Verzeichnis ist; andernfalls wird sie als FALSE ausgewertet

    @fsize

    Dateigröße in Bytes

    @fdate

    Datum der letzten Änderung der Datei

    @ftime

    Uhrzeit der letzten Änderung der Datei

  • Mithilfe von forfiles können Sie einen Befehl für mehreren Dateien ausführen oder Argumente an mehrere Dateien übergeben. So könnten Sie z. B. den Befehl TYPE für alle Dateien in einer Struktur ausführen, die die Erweiterung TXT aufweisen. Eine andere Möglichkeit wäre, bei jeder Ausführung einer Batchdatei (*.bat) auf Laufwerk C:\ den Dateinamen Eingabe.txt als erstes Argument zu verwenden.
  • Mit forfiles können Sie folgende Operationen ausführen:
    • Auswählen von Dateien anhand eines absoluten oder relativen Datums (mithilfe von /d).
    • Erstellen einer Archivstruktur aus Dateien mithilfe von Variablen wie z. B. @fsize (Dateigröße) und @fdate (Dateidatum).
    • Unterscheiden zwischen Dateien und Verzeichnissen mithilfe der Variable @isdir.
    • Formatieren der Ausgabe durch Einbeziehen von Sonderzeichen in die Befehlszeile und Einschließen der Zeichen in den Hexadezimalcode 0xHH.
  • Durch Forfiles wird das Flag zum rekursiven Durchlaufen von Unterverzeichnissen für Tools implementiert, die ausschließlich zur Verarbeitung einer einzigen Datei dienen.

Beispiele

Um alle Batchdateien auf Laufwerk C: aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.bat /c"cmd /c echo @file ist eine Batchdatei"

Um alle Verzeichnisse auf Laufwerk C: aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.* /c"cmd /c if @isdir==true echo @file ist ein Verzeichnis"

Um alle Dateien auf Laufwerk C: aufzulisten, die älter als 100 Tage sind, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.* /dt-100 /c"cmd /c echo @file : Datum >= 100 Tage"

Um alle Dateien auf Laufwerk C: aufzulisten, die vor dem 1. Januar 1993 erstellt wurden, und dann für diese Dateien die Meldung "Datei ist ziemlich alt!" anzuzeigen, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.* /dt-01011993 /c"cmd /c echo @file ist ziemlich alt!"

Um alle Erweiterungen aller Dateien auf Laufwerk C: im Spaltenformat aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.* /c "cmd /c echo Erweiterung von @file ist 0x09@ext0x09"

Um alle Batchdateien auf Laufwerk C: aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m *.bat /c "cmd /c echo @file ist eine Batchdatei"

Um alle Verzeichnisse auf Laufwerk C: aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m *.* /c "cmd /c if @isdir==true echo @file ist ein Verzeichnis"

Um alle Dateien auf Laufwerk C: aufzulisten, die älter als 100 Tage sind, geben Sie Folgendes ein:

forfiles /p c:\ /s /m *.* /d t-100 /c "cmd /c echo @file : Datum >= 100 Tage"

Um alle Dateien auf Laufwerk C: aufzulisten, die vor dem 1. Januar 1993 erstellt wurden, und dann für diese Dateien die Meldung "Datei ist ziemlich alt!" anzuzeigen, geben Sie Folgendes ein:

forfiles /p c:\ /s /m *.* /d t-01011993 /c "cmd /c echo @file ist ziemlich alt!"

Um alle Erweiterungen aller Dateien auf Laufwerk C: im Spaltenformat aufzulisten, geben Sie Folgendes ein:

forfiles /p c:\ /s /m*.* /c "cmd /c echo Erweiterung von @file ist 0x09@ext0x09"

Formatierungslegende

 

Format Bedeutung

Kursiv

Informationen, die der Benutzer bereitstellen muss

Fett

Elemente, die der Benutzer genau so wie dargestellt eingeben muss

Auslassungspunkte (...)

Parameter, die mehrmals in einer Befehlszeile wiederholt werden können

Zwischen eckigen Klammern ([])

Optionale Elemente

Zwischen geschweiften Klammern ({}); Optionen durch Verkettungszeichen (|) voneinander getrennt. Beispiel: {gerade|ungerade}

Eine Gruppe von Auswahlmöglichkeiten, aus denen der Benutzer eine Option auswählen muss.

Schriftart Courier

Code oder Programmausgabe

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ