Udostępnij za pośrednictwem


forfiles

Wybiera i uruchamia polecenie w pliku lub zestawie plików. To polecenie jest najczęściej używane w plikach wsadowych.

Składnia

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

Parametry

Parametr Opis
/P <pathname> Określa ścieżkę, z której ma rozpocząć wyszukiwanie. Domyślnie wyszukiwanie rozpoczyna się w bieżącym katalogu roboczym.
/M <searchmask> Wyszukuje pliki zgodnie z określoną maską wyszukiwania. Domyślna maska wyszukiwania to *.
/S Instruuje forfiles polecenie do wyszukiwania w podkatalogach rekursywnie.
/C <command> Uruchamia określone polecenie w każdym pliku. Ciągi poleceń powinny być opakowane w cudzysłowy. Domyślne polecenie to "cmd /c echo @file".
/D [{+\|-}][{<date> | <days>}] Wybiera pliki z datą ostatniej modyfikacji w określonym przedziale czasu:
  • Wybiera pliki z datą ostatniej modyfikacji później niż lub równe (+) lub wcześniejsze niż lub równe (-) określoną datę, w której data jest w formacie MM/DD/RRRR.
  • Wybiera pliki z datą ostatniej modyfikacji później niż lub równe (+) bieżąca data plus określona liczba dni lub wcześniejsza niż lub równa (-) bieżąca data pomniejszona o określoną liczbę dni.
  • Prawidłowe wartości dla dni zawierają dowolną liczbę z zakresu 0–32 768. Jeśli nie określono żadnego znaku, + jest używany domyślnie.
/? Wyświetla tekst pomocy w oknie cmd.

Uwagi

  • Polecenie forfiles /S jest podobne do dir /S.

  • Następujące zmienne w ciągu polecenia można użyć zgodnie z /C opcji wiersza polecenia:

    Zmienna Opis
    @FILE Nazwa pliku.
    @FNAME Nazwa pliku bez rozszerzenia.
    @EXT Rozszerzenie nazwy pliku.
    @PATH Pełna ścieżka pliku.
    @RELPATH Ścieżka względna pliku.
    @ISDIR Zwraca wartość TRUE, jeśli typ pliku jest katalogiem. W przeciwnym razie ta zmienna zwraca wartość FALSE.
    @FSIZE Rozmiar pliku w bajtach.
    @FDATE Sygnatura daty ostatniej modyfikacji pliku.
    @FTIME Sygnatura czasowa ostatniej modyfikacji pliku.
  • Polecenie forfiles umożliwia uruchamianie polecenia na wielu plikach lub przekazywanie argumentów do wielu plików. Można na przykład uruchomić wpisz polecenie na wszystkich plikach w drzewie z rozszerzeniem nazwy pliku .txt. Możesz też wykonać każdy plik wsadowy (*.bat) na dysku C z nazwą pliku Myinput.txt jako pierwszy argument.

  • To polecenie może wykonywać następujące czynności:

    • Wybierz pliki według daty bezwzględnej lub daty względnej przy użyciu parametru /d.

    • Utwórz drzewo archiwum plików przy użyciu zmiennych, takich jak @FSIZE i @FDATE.

    • Rozróżnianie plików od katalogów przy użyciu zmiennej @ISDIR.

    • Dołącz znaki specjalne w wierszu polecenia przy użyciu szesnastkowego kodu dla znaku w formacie 0xHH (na przykład 0x09 dla karty).

  • To polecenie działa przez zaimplementowanie flagi recurse subdirectories na narzędziach, które są przeznaczone do przetwarzania tylko jednego pliku.

Przykłady

Aby wyświetlić listę wszystkich plików wsadowych na dysku C, wpisz:

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

Aby wyświetlić listę wszystkich katalogów na dysku C, wpisz:

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

Aby wyświetlić listę wszystkich plików w bieżącym katalogu, które mają co najmniej jeden rok, wpisz:

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

Aby wyświetlić plik tekstowy jest nieaktualny dla każdego z plików w bieżącym katalogu, które są starsze niż 1 stycznia 2007 r., wpisz:

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

Aby wyświetlić listę rozszerzeń nazw plików wszystkich plików w bieżącym katalogu w formacie kolumny i dodać kartę przed rozszerzeniem, wpisz:

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