Przejdź do głównej zawartości

forfiles

Komenda forfiles umożliwia wyszukiwanie plików według określonych kryteriów (np. daty modyfikacji, nazwy, rozszerzenia) i wykonywanie na nich operacji, takich jak usuwanie czy uruchamianie skryptów. Jest często używana w automatyzacji zadań administracyjnych i czyszczenia plików.


forfiles [/p ścieżka] [/m maska] [/s] [/d [+ | -]data] [/c polecenie] [/q]
  • Pozwala przeszukiwać wskazany katalog (i opcjonalnie podkatalogi) w poszukiwaniu plików pasujących do warunków.
  • Dla każdego znalezionego pliku można wykonać zdefiniowaną komendę.

ParametrOpis
/p ścieżkaOkreśla katalog, w którym mają być przeszukiwane pliki (domyślnie bieżący katalog).
/m maskaUżywa wzorca (np. *.txt) do filtrowania plików.
/sPrzeszukuje również podkatalogi.
`/d [+-]data`Filtruje pliki według daty modyfikacji. + – starsze niż, - – nowsze niż podana data (w dniach).
/c polecenieDefiniuje polecenie do wykonania dla każdego pliku. Można używać zmiennych takich jak @file, @path, @fsize, @fdate.
/qTryb cichy – ukrywa komunikaty podczas działania komendy.

\Logi
forfiles /p C:\Logi /m *.log /d -30
# Usunięcie plików .tmp starszych niż 7 dni z podkatalogami
forfiles /p C:\Temp /m *.tmp /s /d -7 /c "cmd /c del @path"
# Uruchomienie skryptu na każdym pliku .txt w folderze C:\Dane
forfiles /p C:\Dane /m *.txt /c "cmd /c echo Przetwarzanie pliku: @file"

  • Komenda wymaga uruchomienia z uprawnieniami administratora, jeśli operuje na chronionych katalogach.
  • Może być wykorzystywana do automatyzacji w harmonogramie zadań Windows (Task Scheduler).
  • Zmiennych @file, @path, @fsize, @fdate można używać do dynamicznego przetwarzania plików.

Błąd / KomunikatPrzyczynaRozwiązanie
ERROR: No files found with the specified search criteria.Brak plików spełniających kryteria wyszukiwaniaSprawdź maskę plików i parametry daty, upewnij się, że pliki istnieją.
Access is deniedBrak odpowiednich uprawnieńUruchom CMD jako administrator.
Nie działa parametr /dNieprawidłowy format daty lub znaków +/-Sprawdź składnię, użyj liczby dni (np. /d -30) lub poprawnego formatu.