Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Скрипт удаления папок/подпапок и файлов

Ответить
Настройки темы
VBS/WSH/JS - Скрипт удаления папок/подпапок и файлов

Пользователь


Сообщения: 85
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: zhuk09
Дата: 18-11-2015
Добрый день!
Имеется скрипт удаления папок/подпапок и файлов.
Код: Выделить весь код
'Переменные для настройки
NumOfDays = 1 'число дней, все что старше - будет удалено
StartFolderPath = "D:\Work\"   'Путь к папке с которой будет начинаться удаление файлов и папок

'Перехват и обработка ошибок
On Error Resume Next
Dim fso
Dim objFolder
Dim objFile
Dim objSubfolder
Set fso = CreateObject("Scripting.FileSystemObject")

Set objFolder = fso.GetFolder(StartFolderPath)
DeleteOldFilesAndFolders(objFolder)

'Функция рекурсивно удаляет старые файлы и пустые папки из переданной в параметре директории
Function DeleteOldFilesAndFolders(Folder)
 'сначала удаляем все старые файлы в папке старше NumOfDays
 for each objFile in Folder.Files
  if DateDiff("d", objFile.DateLastModified, Now) > NumOfDays Then
   objFile.Delete true
  end if
 next
 'удаляем пустые директории
 for each objSubfolder in Folder.Subfolders
   if objSubfolder.Files.Count = 0 Then
       objSubfolder.Delete true
   end if
'Повторяем для подпапок
for each objSubfolderr in Folder.Subfolders
   DeleteOldFilesAndFolders(objSubfolderr)
 next
next
End Function
Но он работает не очень корректно. Объясняю суть:
Есть папка Work и в ней папки без файлов, подпапки без файлов, и в конечной папке находится файл который не попадает под условие удаления. Но данный скрипт все равно удаляет данные папки без файлов и подпаки без файлов и собственно конечную папку с файлом, который не должен удаляться.
1.Но если в корневую папку Work положить файл, который не удовлетворяет условиям удаления, то этот файл не удаляется, а все остальные удаляются.
2.Если в корневую папку Work положить файл, который не удовлетворяет условиям удаления, в папку первого уровня (111) так же положить файл не удовлетворяющий условиям удаления, а в папку второго уровня (222) положить файл удовлетворяющий условиям удаления (333), то удаляется только файл 333, а папка 222 не удаляется. И само собой не удаляется папка 111, т.к там находится файл, который не попадает под условия удаления.

Помогите доработать данный скрипт!
За ранее спасибо!

Отправлено: 16:01, 18-11-2015

 

Пользователь


Сообщения: 85
Благодарности: 3

Профиль | Отправить PM | Цитировать


Уважаемые Гуру VBA, очень нужна помощь в данном вопросе!

Отправлено: 12:58, 19-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 85
Благодарности: 3

Профиль | Отправить PM | Цитировать


С этим скриптом пока не как не получается, до сих пор жду Гуру)!

Отправлено: 14:37, 23-11-2015 | #3


Пользователь


Сообщения: 85
Благодарности: 3

Профиль | Отправить PM | Цитировать


Уважаемые, может кто из Гуру все таки посмотрит на этот код и поправит его?!
Очень надо....)

Отправлено: 18:14, 27-11-2015 | #4


Пользователь


Сообщения: 85
Благодарности: 3

Профиль | Отправить PM | Цитировать


Вообщем грусть печаль)))) ни кто не помог!

Отправлено: 12:41, 07-12-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Скрипт удаления папок/подпапок и файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Скрипт для удаления старых файлов и папок из определенной папки avfiga Скриптовые языки администрирования Windows 71 07-01-2023 18:50
CMD/BAT - [решено] Как переделать скрипт удаления папок, на скрипт удаления файлов ufooo Скриптовые языки администрирования Windows 2 02-06-2015 12:22
CMD/BAT - Скрипт поиска и удаления файлов и папок с длиной пути больше 256 символов Alex007 Скриптовые языки администрирования Windows 2 01-12-2014 18:44
VBS/WSH/JS - Скрипт удаления пустых папок + лог того, что было удалено Restly Скриптовые языки администрирования Windows 0 19-04-2012 16:25
CMD/BAT - [решено] Скрипт для удаления файлов. Bond01 Скриптовые языки администрирования Windows 8 01-10-2010 11:02




 
Переход