Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Публикация № 936689

Администрирование - Администрирование данных 1С - Сервисные утилиты

очистка чистка кэш кэша 8.3 конфигураций без потери настроек

30
Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

 

+ Чистит только кэш (настройки остаются целыми)
+ Очищает кэш всех версий 1С 8 (8.0, 8.1, 8.2, 8.3)
+ Без консольных окон
+ Безопасен (очищает кэш только тогда, когда пользователь закрыл все сеансы 1С)
+ Запускается на любой версии Windows
+ Открытый исходный код

 

В отличии от примитивных batch-файлов, скрипт выполняет проверку на наличие запущенной 1С, если 1С не запущена производит очистку кэша баз 1С.

Логика скрипта сканирует все папки находящиеся в папке "%LOCALAPPDATA%\1C",
в сканируемых папках идёт удаление только папок кэша баз с именами вида "dc9bbfe8-9181-4f05-87ec-0b1b08539d67" (проверяется по соответствующему регулярному выражению).
Таким образом достигается очистка кэшей всех баз и всех версий 1С 8.

Скрипт написан на языке "WSH JScript", структурирован и лаконичен, все необходимые параметры выведены наверх исходного кода скрипта в виде строк ресурсов.
".wsf" - это стандартные скрипты ОС Windows, запускаются в любой ОС Windows, точно так же как .".cmd" ,".bat", ".vbs" и ".js".
Исходный код скрипта открыт и может быть просмотрен/отредактирован в любом текстовом редакторе.

При работе скрипта не появляется консольных окон, как в случае использования примитивных batch-файлов, о результатах своей работы скрипт сообщает через окна MessageBox:

Или

/upd 8.11.2018/

Добавлен "скрипт очистки программного кэша 1С 8", его отличие от первого скрипта в том, что он очищает не всю папку кэша, а удаляет только папки "Config" и "ConfigSave" в папках кэша конфигураций.

/upd 13.11.2018/

Добавлен "Скрипт очистки кэша 1С (все пользователи)", его отличие от предыдущих скриптов в том, что он автоматически определяет папку с профилями пользователей, далее выполняет поиск кэшей 1С в профилях всех пользователей и выполняет чистку.
Этот скрипт необходимо запускать под учётной записью администратора, с административными полномочиями, чтобы учётная запись под которой он запущен, имела доступ в профили других пользователей.
Целевая аудитория данного скрипта - администраторы серверов, которым необходимо однократным запуском скрипта почистить кэши 1С всех пользователей терминального сервера.

 

30

Скачать файлы

Наименование Файл Версия Размер
Скрипт очистки кэша 1С:
.wsf 3,04Kb
04.11.18
102
.wsf 1.2 3,04Kb 102 Скачать
Скрипт очистки программного кэша 1С 8 (только кэш конфигураций):
.wsf 3,63Kb
08.11.18
52
.wsf 1.1 3,63Kb 52 Скачать
Скрипт очистки кэша 1С (все пользователи):
.wsf 3,94Kb
13.11.18
113
.wsf 1.1 3,94Kb 113 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. bulpi 156 05.11.18 15:41 Сейчас в теме
Было бы хорошо, если бы была возможность чистки только кеша конфигурации. Ни в одной разработке такого нет, я для себя делал сам.
5. JohnyDeath 294 06.11.18 16:54 Сейчас в теме
8. Eugen-S 39 08.11.18 20:31 Сейчас в теме
(1)Благодарю за идею! Выкладываю вариант щадящей чистки кэша - "Скрипт очистки программного кэша 1С 8".
В папках кэша удалятся только папки "Config" и "ConfigSave", то есть только кэш конфигурации.
2. Eugen-S 39 05.11.18 16:13 Сейчас в теме
Вы можете описать алгоритм этого? Какие файлы папки удалять, какие нет?
3. iPanda 24 06.11.18 07:51 Сейчас в теме
Как то так....
Прикрепленные файлы:
4. Eugen-S 39 06.11.18 08:22 Сейчас в теме
iPanda, в исходом скрипте, который я выложил 124 строки, у Вас ошибка в 147-й. Как такое может быть?
6. pophmail 107 06.11.18 20:45 Сейчас в теме
Скрипт "чистит" кеш только для одного пользователя, под которым он запущен.
7. Eugen-S 39 06.11.18 21:58 Сейчас в теме
pophmail, да, скрипт чистит кэш только у текущего пользователя, под которым он запущен. А почему слово "чистит" Вы взяли в кавычки?
9. Confucius 81 13.11.18 19:42 Сейчас в теме
Не могу скачать (( Сам файл по ссылке не качается!
10. Confucius 81 13.11.18 19:44 Сейчас в теме
А можно ли как то доплить скрипт чтобы очищал кэш всем юзеров на терминальном сервере? те 10 юзеров заходят каждый под своей учеткой, вот чтобы кэш очистился у всех юзверей сервера!?
11. Eugen-S 39 13.11.18 19:51 Сейчас в теме
(10)
Можно трактовать двояко, что нужно сделать, скрипт который будет запускаться с правами админа, перебирать папки всех пользователей на сервере и чистить им кэш или скрипт, который воткнуть в автозагрузку юзера при входе на терминальный сервер?
12. user856012 7 13.11.18 19:53 Сейчас в теме
(10)
можно ли как то доплить скрипт чтобы очищал кэш всем юзеров на терминальном сервере?
Можно: https://infostart.ru/public/704323/
13. Eugen-S 39 13.11.18 20:55 Сейчас в теме
(10) Добавил Скрипт очистки кэша 1С (все пользователи) , его отличие от предыдущих скриптов в том, что он автоматически определяет папку с профилями пользователей, далее выполняет поиск кэшей 1С в профилях всех пользователей и выполняет чистку кэшей 1С.
Этот скрипт необходимо запускать под учётной записью администратора, с административными полномочиями, чтобы учётная запись под которой он запущен имела доступ в профили других пользователей.
Целевая аудитория данного скрипта - администраторы серверов, которым необходимо однократным запуском скрипта почистить кэши 1С всех пользователей терминального сервера.
ЧерныйКот; Confucius; +2 Ответить
14. Confucius 81 14.11.18 07:03 Сейчас в теме
(13) Респект! это то что нужно! СПасибо
15. markers 240 22.01.19 05:18 Сейчас в теме
Скажите пожалуйста, а "Скрипт очистки кеша 1С" просто удаляет папку с UUID базы или он всё-таки оставляет файлы с последним логином и пр.?
Так-же, было бы удобно, выложить все обработки в один архив, ибо хотел бы скачать два варианта (ибо пока не определился какой лучше использовать в моей задаче), но 2 sm жалко.
И ещё, не смотрели на VirusTotal, как антивири к скриптам относятся?
18. Eugen-S 39 22.01.19 10:58 Сейчас в теме
(15)
markers,
"Скрипт очистки кеша 1С" - удаляет всё содержимое папки с UUID
"Скрипт очистки программного кэша 1С 8" - удаляет только папки "Config" и "ConfigSave" в папках кэша конфигураций

Прогнал скрипты на VirusTotal, у антивирусов к скриптам претензий нет.
16. premier 175 22.01.19 07:07 Сейчас в теме
(0) Однозначно, "+". Только вот маску CacheFolderNameMask
........-....-....-....-............
следовало бы заменить. Под неё подпадают даже вот такие строки This*is*-*a*t-est*-of*t-he*JavaScr@*, что GUID'ом, естественно не является.
17. premier 175 22.01.19 07:24 Сейчас в теме
(0) Да, забыл пример привести. Вот такая маска для определения GUID'а подойдет больше: [A-Za-z0-9]{8}\-[A-Za-z0-9]{4}\-[A-Za-z0-9]{4}\-[A-Za-z0-9]{4}\-[A-Za-z0-9]{12}. Хотя выражение [A-Za-z0-9] можно, конечно и упростить до \w, но тогда в шаблон поиска кроме латинских букв и цифр попадет ещё и символ "_", что, в общем-то не так уж и критично.
19. Eugen-S 39 22.01.19 14:08 Сейчас в теме
(17)
premier,
благодарю за конструктивную критику! Обновил маску для определения GUID'а в скриптах.
20. ice-net 17 04.03.19 12:06 Сейчас в теме
аналог на cmd + удаление кэша выборочных баз текущего пользователя
https://infostart.ru/public/846507/
21. Rustig 1188 03.04.19 19:33 Сейчас в теме
(0) добрый день.
скачал.
но файлы дампа не удалились, и в папке Local и Roaming все папки и файлы остались без изменения.
стоит Windows 10 Pro, 64х-разрядная.
фотки прикладываю.
Прикрепленные файлы:
22. Rustig 1188 03.04.19 19:39 Сейчас в теме
(0) на сервере в терминале та же картина
23. Eugen-S 39 03.04.19 19:43 Сейчас в теме
(22)
Rustig, какой версией скрипта Вы пользовались, какие окна выводились скриптом при его работе?
25. Rustig 1188 03.04.19 19:49 Сейчас в теме
(23) на сервере в терминале Local очистился, после того, как прощелкал папки пользователей - выходило окно "у вас не хватает прав" - я нажимал продолжить и заходил. Я под админскими правами.
а файлы Roaming не удалились.
26. Eugen-S 39 03.04.19 19:54 Сейчас в теме
(25) Удаление файлов в "Roaming" и не предусмотрено логикой скрипта.
Ну а с входом в папки, какой-то прикол новых виндов, прав не хватает, но тем не менее скрипт не валится с ошибкой.

На Win7 с выключенным UAC скрипт работает без проблем.
klaus38; Rustig; +2 Ответить
28. Rustig 1188 03.04.19 20:06 Сейчас в теме
(26) изменил в алгоритме путь на

//Путь к папкам кэшей различных версий 1С
<resource id="GlobalCachePath">
AppData\Roaming\1C
</resource>

все почистилось, только места не прибавилось после чистки Roaming.
место прибавилось после чистки Local.

в принципе, сработало. спасибо.
30. Eugen-S 39 03.04.19 20:09 Сейчас в теме
(28) Вот поэтому я "Roaming" и не трогаю. И ещё после очистки "Roaming" пользовательские настройки слетят. Так что, лучше вернуть на место "AppData\Local\1C".
31. Rustig 1188 03.04.19 20:16 Сейчас в теме
(30) я создал два файла - с локал и роуминг.
локально на Виндоус 10 Про, кстати, тоже почистилось.
после чистки Роуминг места не прибавилось, зато все внешние обработки и отчеты исчезли из меню Файл-открыть. И тут я пожалел, что удалил Роуминг...
Так что у вас я бы назвал "мягкое и безболезненное" удаление кэша - как надо пользователю.
Еще раз спасибо.
27. Rustig 1188 03.04.19 19:54 Сейчас в теме
(23) судя по вашему алгоритму папка Roaming не затрагивается. А ее разве не стоит также чистить?
29. Eugen-S 39 03.04.19 20:07 Сейчас в теме
(27) В папке "Roaming" вроде как настройки пользователей хранятся. Чистить или не чистить эту папку - вопрос риторический, однако, судя по количеству тех кто скачал и пользуется скриптом для устранения ошибок связанных с кэшем 1С, очистки только папок в "Loacal\1C" вполне хватает.
24. Rustig 1188 03.04.19 19:46 Сейчас в теме
скачал "все пользователи", выходит окно "Успешное выполнение скрипта"
32. Terve!R 24.06.19 08:38 Сейчас в теме
Спасибо, конечно, но для нас скрипт "все пользователи" почти бесполезен, т.к. хотелось бы чистить кэш только у пользователей, у которых не запущен процесс 1сv8, пока другие работают, а не приходилось бы выгонять всех пользователей и только потом запускать скрипт чисти кэша.

Что мешает проверять наличие запущенного процесса 1cv8 у конкретного пользователя, не на всем сервере?
33. Eugen-S 39 24.06.19 08:55 Сейчас в теме
(32) Спасибо за предложение! Я посмотрю, что можно сделать.
Оставьте свое сообщение