|
Скрипт для удаления пустых папок | ☑ | ||
---|---|---|---|---|
0
zSpartakz
02.11.23
✎
14:22
|
Здравствуйте! Подскажите пожалуйста скрипт можно vbs. чтобы удаляло папки пустые с проверкой что там ничего нет, например создалась папка(она пустая) пролежала 2.5 месяца и удалилась и так далее!
|
|||
1
Волшебник
02.11.23
✎
14:39
|
В VBS для работы с файловой системой существует FileSystemObject.
Set FSO=CreateObject("Scripting.FileSystemObject") Set fold = fso.GetFolder("c:\Windows\") ... fso.DeleteFolder ("C:\example") — удалить папку C:\Example |
|||
2
zSpartakz
02.11.23
✎
14:52
|
Извини не правильно задал вопрос! есть effector saver там задана команда(скрипт) который удаляет папки пустые! папок создается много что то с файлами что то без! папки хранятся с файлами по 2 месяца и файлы удаляются потом, а вот папки пустые нужно удалять через 2.5 месяца
|
|||
3
zSpartakz
02.11.23
✎
14:53
|
#Использовать cmdline
Перем strPathToClear; Перем intDays2Live; Перем Парсер; Процедура НачальныеУстановки() Сообщить("Начальная установка"); Парсер = Новый ПарсерАргументовКоманднойСтроки(); Параметры = ЗаполнитьПараметры(); Если АргументыКоманднойСтроки.Количество() = 0 Тогда Сообщить("Не заданы аргументы командной строки!"); ЗавершитьРаботу(1); КонецЕсли; strPathToClear = Параметры["ПутьККаталогу"];//"F:\photo\15\15\Документ\"; Сообщить(strPathToClear); intDays2Live = 80; КонецПроцедуры Функция ЗаполнитьПараметры() Парсер.ДобавитьПараметр("ПутьККаталогу"); Возврат Парсер.Разобрать(АргументыКоманднойСтроки); КонецФункции Процедура ВыполнитьОчистку() Список = Новый СписокЗначений(); Список.Добавить("Взвешивание"); Список.Добавить("ПриемоСдаточныйАкт"); Список.Добавить("ПриемоСдаточныйАктЦветМет"); FSO = Новый COMОбъект("Scripting.FileSystemObject"); Для Каждого Элем Из Список Цикл Если FSO.FolderExists(strPathToClear+Элем.Значение) Then ClearFolders(FSO.GetFolder(strPathToClear+Элем.Значение)); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура ClearFolders(objFolder) Сообщить(objFolder.Name); ДеньВСек = (60 * 60 * 24); Для Каждого objSubFolder Из objFolder.SubFolders Цикл Если objSubFolder.Files.Count = 0 Тогда Если ((НачалоДня(ТекущаяДата()) - НачалоДня(objSubFolder.DateCreated)) / ДеньВСек) > intDays2Live Тогда //Если DateDiff("d", objSubFolder.DateLastModified, ТекущаяДата()) > intDays2Live Тогда //DateCreated Сообщить(objSubFolder.Name); objSubFolder.Delete(True) КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры НачальныеУстановки(); ВыполнитьОчистку(); |
|||
4
Волшебник
02.11.23
✎
14:54
|
(2) Зачем Вы ставите восклицательные знаки? Успокойтесь
|
|||
5
zSpartakz
02.11.23
✎
14:54
|
Я спокоен)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |