Ogni tanto mi succede di dover ricorrere a piccoli file batch, per compiere operazioni elementari di gestione sul file server del “momento”: eseguire backup, spedire report, controllare la capacità di memorie di massa, ecc. ecc.
Poco tempo fa mi è capitato di dover programmare, tramite un’operazione pianificata, la pulizia di file e cartelle di backup obsoleti, dovendone però mantenere le copie più recenti di 30 giorni. A questo scopo è tornato utile il comando FORFILES, presente all’interno delle versioni server dei sistemi operativi di casa Microsoft, almeno a partire da Windows Server 2003.

La sintassi del comando è la seguente:

forfiles [/p <Percorso>] [/m <MascheraDiRicerca>] [/s] [/c “<Comando>”] [/d [{+|-}][{<Data>|<Giorni>}]]

Alcuni esempi in cui il comando opera su file e sottocartelle presenti in un’ipotetica cartella situata in “c:\esempio”:

Elenca i file più vecchi di 30 giorni:
Forfiles /P c:\esempio  /S /D -30 /M *.* /C “cmd /C echo 0x22@path\@file0x22”

Cancella i file più vecchi di 30 giorni:
Forfiles /P c:\esempio  /S /D -30 /M *.* /C “cmd /C del @path /Q”

Cancella le cartelle più vecchie di 30 giorni, compresi i file ivi contenuti:
Forfiles /P c:\esempio /D -30 /C “cmd /C if @isdir==TRUE rmdir @path /S /Q”

 

Cancellazione programmata di file e cartelle ad una certa data
Tagged on:             

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *