Скрипт для очистки папок в OS Windows
Этому скрипту есть масса применений,
Например:
Вот собственно сам скрипт:
Set filesys = CreateObject("Scripting.FileSystemObject")
Set objFolder = filesys.GetFolder("c:\temp\")
For Each File in objFolder.Files
If LCase(filesys.GetExtensionName(File)) = "exe" AND _
DateDiff("D", File.DateLastModified, Now) > 7 Then
File.Delete true
End If
Next
Его нужно скопировать в текстовый документ и сохранить с расширением *.vbs
далее необходимо подредактировать его. Вместо "c:\temp\" - пишите свой путь к папке, которую необходимо просматривать. Вместо "exe" - необходимое расширение, "> 7 Then" количество дней, тоже поставить по вкусу и запускать планировщиком каждую ночь.
Всё!!!
Этому скрипту есть масса применений,
Например:
- чистить темповские папки
- чистить логи
- очищать от порнухи файловый сервер
- еще мне нужно подчищать папки Kerio от темповских файлов и от файлов кот. на карантине
- и еще за MDaemon-ом нужно чистить разные папки в кот. собирается почта
Вот собственно сам скрипт:
Set filesys = CreateObject("Scripting.FileSystemObject")
Set objFolder = filesys.GetFolder("c:\temp\")
For Each File in objFolder.Files
If LCase(filesys.GetExtensionName(File)) = "exe" AND _
DateDiff("D", File.DateLastModified, Now) > 7 Then
File.Delete true
End If
Next
Его нужно скопировать в текстовый документ и сохранить с расширением *.vbs
далее необходимо подредактировать его. Вместо "c:\temp\" - пишите свой путь к папке, которую необходимо просматривать. Вместо "exe" - необходимое расширение, "> 7 Then" количество дней, тоже поставить по вкусу и запускать планировщиком каждую ночь.
Всё!!!
а вложенные папки просматривает ?
ОтветитьУдалитьвот это чистит все вложенные папки, но сами папки удаляет.. влом писать было для папок :)
ОтветитьУдалитьOn Error Resume Next
Const USER_PROFILE = &H28&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(USER_PROFILE)
Set objFolderItem = objFolder.Self
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objParentFolder = objFSO.GetFolder(objFolderItem.Path+"\Local Settings\Temp\")
ClearFolder objParentFolder
Sub ClearFolder(CurFolder)
On error resume next
For Each File in CurFolder.Files
File.Delete true
Next
For Each SubCurFolder in CurFolder.SubFolders
Set objSubFolder = objFSO.GetFolder(SubCurFolder.Path)
ClearFolder SubCurFolder
Next
End Sub
правда строку
ОтветитьУдалитьFile.Delete true
желательно засунуть тоже в процедуру, со первой строкой в нем
On error resume next
иначе при первой же ошибке удаления файла в какой либо папке (а такое часто случается в temp) скрипт будет переходить сразу к следующей папке (а не файлу)