Cancellare i file più vecchi di una data
A volte può essere utile eseguire diverse operazioni su una serie di file, magari all’interno di sottocartelle, un pò quello che avviene con il comando
find . –exec {} \;
in ambiente linux.
Nel caso specifico oggi avevo necessità di cancellare i file più vecchi di 30 giorni in un determinato path. Senza ricorrere a PowerShell o script Vbs ho risolto semplicemente usando il comando forfiles. Nelle vecchie versioni di Windows questo file non è presente e si trova nel Resource Kit.
Le opzioni che ho usato sono:
forfiles /p c:\backup\sql /s /d –15 /c “cmd /c del @file /f /q”
il significato dei parametri è il seguente:
- /p indica il percorso di partenza
- /s che il comando deve essere applicato anche alle sottocartelle
- /d –15 prende in considerazioni solo i file modificati da più di 15 giorni
- /c “ “ esegue il comando contenuto tra “ “ per tutti i file trovati
Per una spiegazione dettagliata di tutti i comandi vi rimando a questo articolo del Technet (Forfiles).