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
|
1 |
forfiles /p "C:\Logs" /s /d -30 /c "cmd /c del @path" |
Wyświetlanie plików zmodyfikowanych dzisiaj
|
1 |
forfiles /p "C:\Raporty" /d 0 /c "cmd /c echo @file" |
Przenoszenie plików starszych niż 7 dni
|
1 |
forfiles /p "C:\Dane" /d -7 /c "cmd /c move @path D:\Archiwum" |
Usuwanie plików *.tmp
|
1 |
forfiles /p "C:\Temp" /m *.tmp /c "cmd /c del @path" |
Kopiowanie plików CSV do katalogu backupu
|
1 |
forfiles /p "C:\Import" /m *.csv /c "cmd /c copy @path D:\Backup" |
Uruchamianie skryptu PowerShell dla każdego pliku
|
1 |
forfiles /p "C:\Dane" /c "cmd /c powershell.exe -File skrypt.ps1 @path" |
Generowanie raportu nazw plików
|
1 |
forfiles /p "C:\Dokumenty" /c "cmd /c echo @file" > lista.txt |
Dodawanie prefiksu do starych plików
|
1 |
forfiles /p "C:\Projekty" /m *.txt /d -20 /c "cmd /c ren @file OLD_@file" |
Wyświetlanie rozmiaru i nazwy pliku
|
1 |
forfiles /p "C:\ISO" /c "cmd /c echo @fsize @file" |
Nadawanie uprawnień do plików
|
1 |
forfiles /p "C:\Upload" /c "cmd /c icacls @path /grant Users:R" |
Kompresowanie plików starszych niż 10 dni
|
1 |
forfiles /p "C:\Logi" /d -10 /c "cmd /c compact /c @path" |
Usuwanie pustych plików
|
1 |
forfiles /p "C:\Logi" /c "cmd /c if @fsize==0 del @path" |
Lista plików z datą modyfikacji
|
1 |
forfiles /p "C:\Dane" /c "cmd /c echo @fdate @file" |
Wyszukiwanie plików EXE do analizy bezpieczeństwa
|
1 |
forfiles /p "C:\Upload" /m *.exe /c "cmd /c echo Podejrzany plik: @path" |
Tworzenie loga przetwarzania plików
|
1 |
forfiles /p "C:\Dane" /c "cmd /c echo Przetworzono @file >> log.txt" |
Usuwanie plików starszych niż rok
|
1 |
forfiles /p "D:\Archiwum" /d -365 /c "cmd /c del @path" |
Wyszukiwanie plików zmodyfikowanych konkretnego dnia
|
1 |
forfiles /p "C:\Dane" /d 01/01/2026 /c "cmd /c echo @path" |
Kopiowanie plików zmodyfikowanych w ostatnich 2 dniach
|
1 |
forfiles /p "C:\Projekt" /d -2 /c "cmd /c copy @path D:\Nowe" |
Usuwanie plików z wyjątkiem rozszerzenia .zip
|
1 |
forfiles /p "C:\Backup" /c "cmd /c if /I not @ext==.zip del @path" |
Raport plików wraz z godziną modyfikacji
|
1 |
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:).