Microsoft sugiere un script en su sitio web .
A continuación se muestra una versión modificada que estoy usando para mis necesidades.
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
Tenga en cuenta que he cambiado de "DateCreated" a "DateLastModified" ya que la fecha de creación contraintuitiva puede ser posterior a la última modificación, como puede ser el caso con los archivos copiados. Probablemente no desee eliminar archivos que se hayan actualizado recientemente.
Luego ejecútelo usando cscript.exe (por ejemplo cscript.exe d:\scripts\logRetentionScript.vbs
).