A Microsoft sugere um script em seu site .
Abaixo está uma versão modificada que estou usando para minhas necessidades.
Wscript.Echo "Starting log removal"
sLogFolder = "d:\retentiontest"
iMaxAge = 30 'in days
Set objFSO = CreateObject("Scripting.FileSystemObject")
set colFolder = objFSO.GetFolder(sLogFolder)
Wscript.Echo "Removing log files from folder: " & colFolder
For Each colSubfolder in colFolder.SubFolders
Set objFolder = objFSO.GetFolder(colSubfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
iFileAge = now-objFile.DateLastModified
if iFileAge > (iMaxAge+1) then
Wscript.Echo "Removing File: " & objFile.Name
objFSO.deletefile objFile, True
end if
Next
Next
Observe que eu mudei de "DateCreated" para "DateLastModified", pois a data criada contra-intuitivamente pode ser posterior à última modificação, como pode ser o caso dos arquivos copiados. Você provavelmente não deseja remover arquivos que foram atualizados recentemente.
Em seguida, execute-o usando cscript.exe (por exemplo cscript.exe d:\scripts\logRetentionScript.vbs
).