' author: Brian Coleman ' date: 09/26/2007 ' description: deletes all of the files in each of the folders ' ' variables ' path: the path of the directory that you wish to have the ' files deleted from. zero length strings "" are ignored ' ' numDays: the maximum number of days that a file was last ' modified so it is not deleted ' ' deleteSubFolder: a boolean that states whether you would like ' to also check and delete any subfolders of ' the path option explicit dim paths, days, path, p, delSub, numDays, fso, files, f, x, dir, delSubFolders dim currentdate, strLogFile, objFolder, objFile, objLogFile dim path1, numDays1, deleteSubFolder1 dim path2, numDays2, deleteSubFolder2 dim path3, numDays3, deleteSubFolder3 dim path4, numDays4, deleteSubFolder4 dim path5, numDays5, deleteSubFolder5 dim path6, numDays6, deleteSubFolder6 dim path7, numDays7, deleteSubFolder7 dim path8, numDays8, deleteSubFolder8 dim path9, numDays9, deleteSubFolder9 dim path10, numDays10, deleteSubFolder10 path1 = "C:\temp\temp" 'full path that you wish to check (ex: "C:\temp" numDays1 = 30 'maximum number of days since the last time the file was modified deleteSubFolder1 = false 'boolean stating whether you want to delete the files in the subfolder(s) ' true means you want to check and delete subfolders path2 = "" numDays2 = 30 deleteSubFolder2 = false path3 = "" numDays3 = 30 deleteSubFolder3 = false path4 = "" numDays4 = 30 deleteSubFolder4 = false path5 = "" numDays5 = 30 deleteSubFolder5 = false path6 = "" numDays6 = 30 deleteSubFolder6 = false path7 = "" numDays7 = 30 deleteSubFolder7 = false path8 = "" numDays8 = 30 deleteSubFolder8 = false path9 = "" numDays9 = 30 deleteSubFolder9 = false path10 = "" numDays10 = 30 deleteSubFolder10 = false '########################################################################################################## ' 'if you would like to check more than 10 folders, just add more variables by incrementing the number ' be sure to declare the variable ' example: ' dim path11, numDays11, deleteSubFolder11 ' ' assign the values ' example: ' path11 = "c:\temp\" ' numDays11 = 30 ' deleteSubFolder11 = false ' ' add to the arrays below ' example: ' paths = array(path1, ..., path10, path11) ' days = array(numDays1, ..., numDays10, numDays11) ' delSubFolders = array(deleteSubFolder1, ..., deleteSubFolder10, deleteSubFolder11) ' '########################################################################################################## paths = array(path1, path2, path3, path4, path5, path6, path7, path8, path9, path10) days = array(numDays1, numDays2, numDays3, numDays4, numDays5, numDays6, numDays7, numDays8, numDays9, numDays10) delSubFolders = array(deleteSubFolder1, deleteSubFolder2, deleteSubFolder3, deleteSubFolder4, deleteSubFolder5, deleteSubFolder6, deleteSubFolder7, deleteSubFolder8, deleteSubFolder9, deleteSubFolder10) '########################################################################### '############### DO NOT MODIFY BELOW THIS LINE ################### '########################################################################### x = 0 set fso = createobject("Scripting.FileSystemObject") if month(date()) > 9 then strLogFile = cstr(month(Date())) else strLogFile = "0" + cstr(Month(Date())) end if if Day(Date()) > 9 then strLogFile = strLogFile + CStr(Day(Date())) else strLogFile = strLogFile + "0" + CStr(Day(Date())) end if strLogFile = "deleteFilesLog_" + strLogFile + CStr(Year(Date())) + ".txt" if fso.FileExists(strLogFile) then fso.DeleteFile(strLogFile) end if set objFile = fso.CreateTextFile(strLogFile) set objFolder = nothing set objFile = nothing const ForAppending = 8 set objLogFile = fso.OpenTextFile(strLogFile, ForAppending, True) for each p in paths if len(trim( p )) > 0 then delSub = delSubFolders(x) numDays = days(x) set dir = fso.GetFolder(p) call deleteFiles(dir, numDays, delSub) end if x = x + 1 next sub deleteFiles(directory, numberofdays, subdirectory) dim dir, f, dirs if subdirectory = true then for each dir in directory.subfolders call deleteFiles(dir, numberofdays, subdirectory) next end if set files = directory.files for each f in files if datediff("D", f.datelastmodified, now()) > days(x) then objLogFile.WriteLine(FormatDateTime(Date()) + "," + FormatDateTime(f.datelastmodified) + "," + f.path) f.delete end if next end sub objLogFile.Close Wscript.echo "Done" Wscript.quit