PDA

View Full Version : cancellare file datati da una directory


john_revelator
30-10-2007, 23:30
Salve a tutti. Ho una curiosità. E' possibile tramite shell in windows xp cancellare all'interno di una directory ad esempio i file creati, oppure modificati più di un mese fa?
Grazie a tutti e buona notte. :)

john_revelator
31-10-2007, 14:00
:help:

minneapolis
31-10-2007, 14:39
Se per shell intendi il prompt dei comandi, allora no, non si puo'.

john_revelator
31-10-2007, 14:50
Ciao. Alternative alla shell? Ad esempio con la powershell o con file batch sarebbe possibile?

john_revelator
31-10-2007, 21:48
Ho risolto il problema e condivido la soluzione. :)
Ho trovato un utility di nome forfiles.

Si può scaricare da qui.
http://winhlp.com/node/180

Ho copiato il file forfiles.exe dentro system32 e ho lanciato questo comando
forfiles -s -m *.* -d -5 -c "cmd /c del /q @path"

con il quale cancello i file la cui data di modifica risale a più di 5 giorni fa.
Molto utile. :D

Se qualcuno sa se è possibile prendere in considerazione la data di creazione di un file anzichè quella di ultima modifica si faccia avanti. :)

Khronos
31-10-2007, 22:49
preso al volo, il "forfiles"... di suo non usa la variabile "data creazione", bisogna cercare ancora ^^

john_revelator
02-11-2007, 09:48
preso al volo, il "forfiles"... di suo non usa la variabile "data creazione", bisogna cercare ancora ^^

Alla fine ho risolto così

Dim oFSO, oFolder, oFiles, oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and Settings\percorso\mia_cartella")
Set oFiles = oFolder.Files
for each oFile in oFiles
if oFile.DateCreated < DateAdd("d", -5, Now()) then
oFile.Delete True
end if
next


:)

jstef
02-11-2007, 11:36
Beh più che shell questo è VB... "Programmazione" era la sezione giusta ;)

john_revelator
02-11-2007, 13:38
Beh più che shell questo è VB... "Programmazione" era la sezione giusta ;)

Hai ragione. Il fatto è che tramite shell ancora non ho trovato il modo per fare ciò che desideravo :)
Se avete alternative tramite shell/powershell o simili fatemi sapere.