Option Explicit
Dim fso, dTwoWeeksAgo
dTwoWeeksAgo = Date() - 14
wscript.echo dTwoWeeksAgo
Set fso = CreateObject("Scripting.FileSystemObject")
'DirWalk("C:\") ' repeat this subroutine call with a different path to process more paths
'DirWalk("F:\users\data\") ' like this.
'DirWalk("\\phobos\E$\ee\") ' and/or like this.
DirWalk("C:\tmp\test\hmm")
Sub DirWalk(parmPath)
Dim oSubDir, oSubFolder, oFile, n
On Error Resume Next ' We'll handle any errors ourself, thank you very much
Set oSubFolder = fso.getfolder(parmPath)
For Each oFile In oSubFolder.Files ' look in the current dir
If Err.Number <> 0 Then ' if we got an error, just skip this entry
Err.Clear
ElseIf oFile.DateLastModified < dTwoWeeksAgo Then
Wscript.Echo "about to delete " & oFile.Path
'''uncomment the next line when you are satisfied this script works properly
'''fso.DeleteFile oFile.Path, True
End If
Next
For Each oSubDir In oSubFolder.Subfolders
DirWalk oSubDir.Path ' recurse the DirWalk sub with the subdir paths
Next
On Error Goto 0 ' Resume letting system handle errors.
' Removing a empty folder.
' Commenting out following block if you prefer to keep these empty folders.
If fso.getfolder(parmPath).SubFolders.Count = 0 AND fso.getfolder(parmPath).Files.Count = 0 Then
fso.DeleteFolder(parmPath)
End If
End Sub
Wednesday, March 3, 2010
vbscript for deleting 2 week old files in 44 separate folders
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment