Polecenie forfiles to jedno z tych narzędzi w Windows, które wielu administratorów zna… ale mało kto wykorzystuje jego pełny potencjał.
Pozwala wykonywać operacje na plikach spełniających konkretne kryteria — datę, nazwę, rozszerzenie czy lokalizację.
Idealne do automatyzacji: backupów, sprzątania logów, archiwizacji czy raportów.
Poniżej masz zestaw praktycznych przykładów, które możesz wykorzystać w codziennej pracy.
Najważniejsze przełączniki używane w poleceniu forfiles
/p „C:\Logs” – Określa katalog, w którym polecenie ma działać.
/s – Przetwarza pliki rekurencyjnie (każdy, który jest w podanej ścieżce) — także w podkatalogach.
/m <maska> – Filtruje pliki według nazwy lub rozszerzenia. Przykłady użycia: /m .log /m raport_.csv, /m * maską są pliki .log oraz raport_.csv lub wszystkie pliki, czyli oznaczenie jako *.
/d <data> – Filtruje pliki według daty modyfikacji. -30 – starsze niż 30 dni, 0 – pliki z dnia dzisiejszego, 01/02/2026 – konkretna data.
/c „polecenie” – Określa polecenie wykonywane na każdym pliku. Przykład: /c „cmd /c del @path”.
Najczęściej używane zmienne w forfiles
| Zmienna | Opis |
|---|---|
@file | nazwa pliku |
@fname | nazwa bez rozszerzenia |
@ext | rozszerzenie |
@path | pełna ścieżka |
@relpath | ścieżka względna |
@fdate | data modyfikacji |
@ftime | godzina modyfikacji |
@fsize | rozmiar pliku (w bajtach) |
@isdir | informacja czy to katalog |
Przykłady użycia forfiles
Usuwanie plików starszych niż 30 dni
forfiles /p "C:\Logs" /s /d -30 /c "cmd /c del @path"
Wyświetlanie plików zmodyfikowanych dzisiaj
forfiles /p "C:\Raporty" /d 0 /c "cmd /c echo @file"
Przenoszenie plików starszych niż 7 dni
forfiles /p "C:\Dane" /d -7 /c "cmd /c move @path D:\Archiwum"
Usuwanie plików *.tmp
forfiles /p "C:\Temp" /m *.tmp /c "cmd /c del @path"
Kopiowanie plików CSV do katalogu backupu
forfiles /p "C:\Import" /m *.csv /c "cmd /c copy @path D:\Backup"
Uruchamianie skryptu PowerShell dla każdego pliku
forfiles /p "C:\Dane" /c "cmd /c powershell.exe -File skrypt.ps1 @path"
Generowanie raportu nazw plików
forfiles /p "C:\Dokumenty" /c "cmd /c echo @file" > lista.txt
Dodawanie prefiksu do starych plików
forfiles /p "C:\Projekty" /m *.txt /d -20 /c "cmd /c ren @file OLD_@file"
Wyświetlanie rozmiaru i nazwy pliku
forfiles /p "C:\ISO" /c "cmd /c echo @fsize @file"
Nadawanie uprawnień do plików
forfiles /p "C:\Upload" /c "cmd /c icacls @path /grant Users:R"
Kompresowanie plików starszych niż 10 dni
forfiles /p "C:\Logi" /d -10 /c "cmd /c compact /c @path"
Usuwanie pustych plików
forfiles /p "C:\Logi" /c "cmd /c if @fsize==0 del @path"
Lista plików z datą modyfikacji
forfiles /p "C:\Dane" /c "cmd /c echo @fdate @file"
Wyszukiwanie plików EXE do analizy bezpieczeństwa
forfiles /p "C:\Upload" /m *.exe /c "cmd /c echo Podejrzany plik: @path"
Tworzenie loga przetwarzania plików
forfiles /p "C:\Dane" /c "cmd /c echo Przetworzono @file >> log.txt"
Usuwanie plików starszych niż rok
forfiles /p "D:\Archiwum" /d -365 /c "cmd /c del @path"
Wyszukiwanie plików zmodyfikowanych konkretnego dnia
forfiles /p "C:\Dane" /d 01/01/2026 /c "cmd /c echo @path"
Kopiowanie plików zmodyfikowanych w ostatnich 2 dniach
forfiles /p "C:\Projekt" /d -2 /c "cmd /c copy @path D:\Nowe"
Usuwanie plików z wyjątkiem rozszerzenia .zip
forfiles /p "C:\Backup" /c "cmd /c if /I not @ext==.zip del @path"
Raport plików wraz z godziną modyfikacji
forfiles /p "C:\Projekty" /c "cmd /c echo @ftime @path" > raport.txt
Podsumowanie
Polecenie forfiles to lekkie, natywne narzędzie Windows, które pozwala szybko automatyzować operacje na plikach — bez konieczności sięgania po rozbudowane skrypty czy PowerShell. Dzięki filtrowaniu po dacie, nazwie czy rozszerzeniu możesz w prosty sposób zarządzać logami, backupami, raportami oraz katalogami roboczymi.
W tym wpisie zobaczyłeś 20 praktycznych przykładów zastosowania — od prostego sprzątania plików i generowania raportów, aż po automatyzację zadań administracyjnych, nadawanie uprawnień czy integrację z innymi narzędziami systemowymi.
Najważniejsze rzeczy, o których warto pamiętać:
- zawsze testuj polecenia na
echo @pathzanim wykonasz operacje destrukcyjne, - uważaj na przełącznik
/s, bo działa rekurencyjnie, - stosuj
forfilesrazem z Harmonogramem zadań do pełnej automatyzacji, - traktuj je jako szybkie narzędzie do prostych zadań — szczególnie tam, gdzie PowerShell byłby przerostem formy nad treścią.
Jeśli szukasz szybkiego sposobu na uporządkowanie plików i automatyzację codziennych czynności administratora — forfiles nadal jest bardzo skutecznym i niedocenianym narzędziem w ekosystemie Windows.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).