1 (изменено: yara10202, 2015-08-19 11:55:55)

Тема: VBS: Посчитать количество файлов и удалить если из больше 7

Пользовался поиском нашел простой подсчет с выводом сколько файлов в папке
как написать функцию если файлов в папке больше 7 удалить файлы созданные/измененные больше 7дней назад

2 (изменено: Flasher, 2015-08-19 13:29:06)

Re: VBS: Посчитать количество файлов и удалить если из больше 7

Исправляйтесь.

3

Re: VBS: Посчитать количество файлов и удалить если из больше 7

написал скрипт но не могу понять в чем ошибка, кто может подсказать?


On Error Resume Next

del7dir("C:\Users\1\Desktop\Backup\day\")

Function del7dir(day)
set FSO = CreateObject("Scripting.FileSystemObject")' создание объекта FSO
if FSO.FolderExists(day) then' если папка существует
if FSO.GetFolder(day).Files.Count >7 then' если файлов в папке > = 0
Set oDirs = FSO.GetFolder(day)
Set oFiles = oDirs.Files
Set oSubFolders = oDirs.SubFolders
For Each oFile In oFiles
If DateDiff("d", oFile.DateCreated, Now) > 7 then' если с момента создания файла прошло более 1 дней
oFile.Delete
End If
Next
End if
End if
End Function

4

Re: VBS: Посчитать количество файлов и удалить если из больше 7

yara10202 пишет:

написал скрипт но не могу понять в чем ошибка, кто может подсказать?


On Error Resume Next

del7dir("C:\Users\1\Desktop\Backup\day\")

Function del7dir(day)
set FSO = CreateObject("Scripting.FileSystemObject")' создание объекта FSO
if FSO.FolderExists(day) then' если папка существует
if FSO.GetFolder(day).Files.Count >7 then' если файлов в папке > = 0
Set oDirs = FSO.GetFolder(day)
Set oFiles = oDirs.Files
Set oSubFolders = oDirs.SubFolders
For Each oFile In oFiles
If DateDiff("d", oFile.DateCreated, Now) > 7 then' если с момента создания файла прошло более 1 дней
oFile.Delete
End If
Next
End if
End if
End Function

разобрался просто надо было вместо oFile.DateCreated поставить oFile.DateLastModified и все стало работать стабильно