Archiv verlassen und diese Seite im Standarddesign anzeigen : löschen von Files die älter sind als x Tage
Hi!
Ich suche eine Möglichkeit Files/Directories aus einem Verzeichnis (rekursiv?!) zu löschen, wenn ein beschtimmter Zeitraum - z.B. eine Woche - überschritten ist. Wie kann ich das am besten machen?
Ich habe ein Verzeichnis voller Podcasts und die stapeln sich da. Jetzt suche ich eine Möglichkeit diese zu löschen, wenn sie alt genug sind.
Danke,
Ach ja: Wenns geht irgendwie "batchmässig" ... von Hand kann ich die nämlich selbst löschen! :)
Juerg
2006-05-06, 11:55:38
Batch delweek.bat:
cscript deloldfiles.vbs c:\pod\casts 7
Script deloldfiles.vbs:' Objective: To delete old files from a given folder and all subfolders below
' Created by: MAK
' Created Date: June 21, 2005
' Usage: cscript deloldfiles.vbs c:\dba\log 3
' : It deletes files older than 3 days
Set objArgs = WScript.Arguments
FolderName =objArgs(0)
Days=objArgs(1)
set fso = createobject("scripting.filesystemobject")
set folders = fso.getfolder(FolderName)
datetoday = now()
newdate = dateadd("d", Days*-1, datetoday)
wscript.echo "Today:" & now()
wscript.echo "Started deleting files older than :" & newdate
wscript.echo "________________________________________________"
wscript.echo ""
recurse folders
wscript.echo ""
wscript.echo "Completed deleting files older than :" & newdate
wscript.echo "________________________________________________"
sub recurse( byref folders)
set subfolders = folders.subfolders
set files = folders.files
wscript.echo ""
wscript.echo "Deleting Files under the Folder:" & folders.path
wscript.echo "__________________________________________________________________________"
for each file in files
if file.datelastmodified < newdate then
wscript.echo "Deleting " & folders.path & "\" & file.name & " last modified: " & file.datelastmodified
on error resume next
file.delete
end if
next
for each folder in subfolders
recurse folder
next
set subfolders = nothing
set files = nothing
end sub
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.