Skip to content

Instantly share code, notes, and snippets.

@VladFrost
Created December 24, 2018 15:35
Show Gist options
  • Save VladFrost/e7f709c36e5317f1646b1a60d3045272 to your computer and use it in GitHub Desktop.
Save VladFrost/e7f709c36e5317f1646b1a60d3045272 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