Forfiles - cancellare in automatico files più vecchi di una certa data
FORFILES e si trova in tutte le più recenti versioni di Windows.
Tornando al nostro esempio l’esigenza era quella di cancellare i files di log più vecchi di 3 mesi (90 giorn)i dal nostro disco, la sintassi da usare quindi sarà :
FORFILES /P "C:\PATH\TO\DIR" /M *.EXT /D -NUMEROGIORNI /C "CMD /C DEL @PATH" | MORE
in pratica richiamiamo il comando FORFILES dal nostro batch schedulato ogni domenica che provvede a cancellare i log che trova nel percorso specificato più vecchi di 3 mesi, la spiegazione delle opzioni che stiamo utilizzando è :
| /P percorso da controllare sul disco |
| /M maschera dei files da considerare (solo quelli con estensione .LOG) |
| /D data dei files da considerare (-90 sta appunto per data oltre i 3 mesi rispetto all’attuale) |
| /C comando da eseguire tra virgolette, nel nostro caso è un DEL , @PATH è il percorso completo del file restituito dal comando FORFILES |
Visto che la cancellazione da riga di comando non passa dal cestino vi consiglio prima di metterla in produzione di testarla modificando il comando DEL con ECHO in questo modo avrete un’anteprima dei files selezionati dal comando FORFILES e potrete essere sicuri che state scegliendo per la successiva cancellazione SOLO i files che vi interessano veramente !
Quindi seguendo sempre il nostro esempio il comando da usare per il controllo preventivo sarà :
FORFILES /P "C:\PATH\TO\DIR" /M *.EXT /D -NUMEROGIORNI /C "CMD /C ECHO @PATH" | MORE
Il comando FORFILES oltre che per la cancellazione può essere usato anche per qualsiasi altra operazione di selezione sui files a cui poi andrà applicato un altro comando, per maggiori informazioni sulla sintassi del comando FORFILES potete digitare dalla riga di comando (CMD.EXE) :
FORFILES /?