|   |   | 
| 
 | Скрипт для удаления пустых папок | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Я спокоен)))     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |