Per operazioni simili non c'è niente di meglio della powershell della microsoft.![]()
La puoi scaricare da qui
http://www.microsoft.com/windowsserv.../download.mspx
una volta installata la richiami digitando powershell da esegui.
A questo punto, come col classico prompt dei comandi, raggiungi la cartella di tuo interesse e digiti questo comando:
Te lo spiego brevemente.codice:gci -rec | ? {(get-date).addminutes(-15) -gt $_.creationtime} | ri -whatif![]()
Con gci -rec recuperi in modo ricorsivo tutti i file presenti anche nelle eventuali sottodirectory.
Il ? è la contrazione del comando where-object che serve per filtrare i file in base a determinati requisiti.
Nel nostro caso il requisito è che la data attuale meno 15 minuti sia maggiore (gt) della data di creazione del file.
Una volta eseguito tale filtraggio reindirizzi tali file tramite la pipe (|) al passaggio successivo affinchè vengano rimossi col comando ri che è la forma contratta di remove-item.
Questo comando cancellerà tutti i file creati più di 15 minuti fa. Nel caso invece voglia eliminare i file la cui data di ultima modifica (e non di creazione), risalga sempre a più di 15 minuti fa sostituisci $_.creationtime con $_.lastwritetime.
Nel comando che ti ho scritto qua sopra lo switch -whatif serve per verificare cosa accadrebbe nel caso in cui il comando venisse effettivamente eseguito. In pratica serve ad evitare disastri.![]()
Nello specifico per ciascun file che verrebbe eliminato ti scriverà: "Esecuzione dell'operazione "Rimuovi file" sulla destinazione tuo_path_completo in corso.
Una volta che ti sei accertato che il comando fa effettivamente ciò che desideri è sufficiente rimuovere il -whatif.![]()

Rispondi quotando