Skip to content

Instantly share code, notes, and snippets.

@artbear
Forked from VladFrost/clearcache.os
Created August 12, 2019 14:57
Show Gist options
  • Save artbear/d35811bd7a4d9350df35a5c04ea0b200 to your computer and use it in GitHub Desktop.
Save artbear/d35811bd7a4d9350df35a5c04ea0b200 to your computer and use it in GitHub Desktop.
Очищает кэши платформы созданные позавчера и ранее.
Процедура ОчиститьУстаревшийКэш()
Если Не ЗначениеЗаполнено(АргументыКоманднойСтроки) Тогда
Сообщить("Очищает кэши платформы созданные позавчера и ранее.
|Использование: clearcache.os <путь-к-папке-с-кэшем-платформы-1с-предприятие>");
Возврат;
КонецЕсли;
Сообщить(СтрШаблон("Выполняю поиск устаревших файлов кэша платформы в папке ""%1""", АргументыКоманднойСтроки[0]));
ПутьКФайламКэшаПлатформы = ИнтерполироватьПеременныеСреды(АргументыКоманднойСтроки[0]);
СчетчикУдаленных = 0;
Для Каждого ТекФайл Из НайтиФайлы(ПутьКФайламКэшаПлатформы, "*", Ложь) Цикл
Если Не ТекФайл.ЭтоКаталог() Тогда
Продолжить;
КонецЕсли;
Если СтрДлина(ТекФайл.Имя) <> 36 Тогда
Продолжить;
КонецЕсли;
Если ИзменялсяСоВчерашнегоДня(ТекФайл) Тогда
Продолжить;
КонецЕсли;
Сообщить(СтрШаблон("Удаляется ""%1""", ТекФайл.ПолноеИмя));
Попытка
УдалитьФайлы(ТекФайл.ПолноеИмя);
СчетчикУдаленных = СчетчикУдаленных + 1;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Сообщить(СтрШаблон("Выполнение завершено. Удалено папок: %1", СчетчикУдаленных));
КонецПроцедуры
Функция ИнтерполироватьПеременныеСреды(ПутьКФайламКэшаПлатформы)
Результат = ПутьКФайламКэшаПлатформы;
Для Каждого ТекПеременная Из ПеременныеСреды() Цикл
Результат = СтрЗаменить(Результат, "%" + ТекПеременная.Ключ + "%", ТекПеременная.Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ИзменялсяСоВчерашнегоДня(Файл)
Возврат ТекущаяДата() - Файл.ПолучитьВремяИзменения() < 60 * 60 * 24;
КонецФункции
ОчиститьУстаревшийКэш();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment