Microsoft пропонує на своєму веб-сайті сценарій .
Нижче наведена модифікована версія, яку я використовую для своїх потреб.
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
Зауважте, що я змінив "DateCreate" на "DateLastModified", оскільки дата, створена протизаконне, може бути пізнішою, ніж остання змінена, як це може бути у випадку з скопійованими файлами. Напевно, ви не хочете видаляти файли, які нещодавно оновились.
Потім запустіть його за допомогою cscript.exe (наприклад, cscript.exe d:\scripts\logRetentionScript.vbs
).