Es ist immer gut zu wissen, einige Kommandozeilen-Magie, es ist manchmal einfacher, Befehle zu verarbeiten, die Art und Weise.
Diese Anleitung veranschaulicht, die Forfiles-Befehl in Windows Vista und Windows 7 (Update: Auch in neueren Versionen von Windows).
Forfiles verarbeiten kann Dateien basierend auf dem Namen, Datei-Erweiterungen und Alter. Es ist zum Beispiel möglich, alle Dokumente in einem Verzeichnis, die älter als 20 Tage, oder alle Dokumente in c:documents geändert wurden seit einem bestimmten Datum.
Der forfiles Befehl kann gekoppelt werden mit der Verarbeitung Optionen, um diese Dateien zu löschen, oder erstellen Sie eine Liste mit allen Dateien, die mit dem Filter. Werfen wir einen genaueren Blick auf den forfiles Befehl.
FORFILES [/P Pfadname] [/M searchmask] [/S] [/C Befehl] [/D [+ | -] {dd/MM/yyyy | TT}]
Beschreibung: Wählt eine Datei (oder einen Satz von Dateien) und führt einen Befehl auf dieser Datei. Dies ist hilfreich für batch-jobs.
Parameter-Liste:
- /P Pfadname Gibt den Pfad zu suchen. Der Standardordner ist der aktuelle Arbeitsverzeichnis (.).
- /M searchmask Sucht Dateien nach einem searchmask. Die Standard-searchmask ist ‘*’ .
- /S Weist forfiles zu Rekursion in Unterverzeichnisse. Wie “DIR /S”.
- /C Befehl Gibt den auszuführenden Befehl für jede Datei. Befehl-strings sein sollte, eingewickelt in Anführungszeichen gesetzt werden. Der Standard-Befehl “cmd /c echo @file”.
Die folgenden Variablen können verwendet werden, in der Befehlszeile:
- @Datei – gibt den Namen der Datei.
- @fname liefert den Namen der Datei ohne Erweiterung.
- @ext – gibt nur die Erweiterung der Datei.
- @Pfad – gibt den vollständigen Pfad der Datei.
- @relpath – gibt den relativen Pfad der Datei.
- @isdir – gibt “TRUE” zurück, wenn ein Datei-Typ ist ein Verzeichnis, und “FALSE” für Dateien.
- @fsize – gibt die Größe der Datei in bytes.
- @fdate – gibt das Datum der letzten änderung der Datei.
- @ftime – liefert die Uhrzeit der letzten änderung der Datei.
Spezielle Zeichen in der Befehlszeile verwenden Sie den hexadezimal-code für das Zeichen in 0xHH format (ex. 0x09 für tab). Interne CMD.exe Befehle sollten vorangestellt werden, mit “cmd /c”.
/D Datum Wählt Dateien mit einem änderungsdatum größer oder gleich ( + ) oder weniger als oder gleich (-), das angegebene Datum im “dd/MM/yyyy” – format, oder wählt Dateien mit einem änderungsdatum größer oder gleich (+) das aktuelle Datum plus “dd” – Tage, oder weniger als oder gleich (-) das aktuelle Datum minus “dd” – Tage. Eine gültige “dd” Anzahl der Tage kann eine beliebige Zahl im Bereich von 0 – 32768. “+” wird als Standard-Zeichen, wenn nicht angegeben.
/? Zeigt diese Hilfe-Nachricht. Diese Hilfe-Datei geöffnet werden kann, durch Eingabe des Befehl forfiles /? in einer Eingabeaufforderung. Drücken Sie Windows-R, geben Sie cmd ein und drücken Sie die EINGABETASTE, um starten Sie die Befehlszeile in Windows.
Der Befehl forfiles /P c:test /M .doc /S /D -10 durchsucht das Verzeichnis c:test und alle seine Unterverzeichnisse nach Dateien mit der .doc-Erweiterung, die älter sind als 10 Tage.
Der parameter /p, gefolgt von einem Verzeichnis, definiert die Start-Verzeichnis /s enthält Unterverzeichnisse in die Suche, /m filtert die Dateien und Ordner auf der Grundlage der eingegebenen Zeichenfolge, und /D definiert das Datum oder eine Zeitspanne.
Die /C-Befehl wird verwendet, um die Dateien zu verarbeiten, finden Sie weiter. Es kann zum Beispiel verwendet werden, um führen Sie den folgenden Befehl ein: /C “cmd /c echo @fname” > test.txt echo die Namen der einzelnen Datei und speichern die Ergebnisse in text.txt in das gleiche Verzeichnis.
Der vollständige Befehl sieht dann wie folgt aus forfiles /P c:test /M .doc /S /D -10 /C “cmd /c echo @fname” > test.txt
Eine andere Möglichkeit ist, die Dateien zu löschen, die mit dem Suchbegriff übereinstimmen, diese geschieht mit dem Befehl /C “cmd /c del @File
Es wird jedoch empfohlen, zum testen die erste Ausgabe, vor Ausgabe der löschen-Befehl, um sicherzustellen, dass nur die richtigen Dateien gelöscht werden. Erfahrene Benutzer können erstellen Sie eine batch-Datei ausführen forfiles regelmäßig.