Очистка кеша 1С (BAT-файл)
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Не взлетит на Windows XP.
Я вот такой скрипт использую, он тоже не универсальный так как только для 1cv82, но добавить сюда 1cv8 не составит труда:
If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (
rem Удаляем все файлы в Win 7 8 10
Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv82\*.*
rem Удаляем все каталоги в Win 7 8 10
for /d %%i in ("%USERPROFILE%\AppData\Roaming\1C\1Cv82\*") do rmdir /s /q "%%i"
for /d %%i in ("%USERPROFILE%\AppData\Local\1C\1Cv82\*") do rmdir /s /q "%%i"
)
If Exist %USERPROFILE%\Local Settings\Application Data\1C\1Cv82 (
rem Удаляем все файлы в XP
Del /F /Q %USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\Application Data\1C\1Cv82\*.*
rem Удаляем все каталоги в XP
for /d %%i in ("%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"
for /d %%i in ("%USERPROFILE%\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"
)
Я вот такой скрипт использую, он тоже не универсальный так как только для 1cv82, но добавить сюда 1cv8 не составит труда:
If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (
rem Удаляем все файлы в Win 7 8 10
Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv82\*.*
rem Удаляем все каталоги в Win 7 8 10
for /d %%i in ("%USERPROFILE%\AppData\Roaming\1C\1Cv82\*") do rmdir /s /q "%%i"
for /d %%i in ("%USERPROFILE%\AppData\Local\1C\1Cv82\*") do rmdir /s /q "%%i"
)
If Exist %USERPROFILE%\Local Settings\Application Data\1C\1Cv82 (
rem Удаляем все файлы в XP
Del /F /Q %USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\Application Data\1C\1Cv82\*.*
rem Удаляем все каталоги в XP
for /d %%i in ("%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"
for /d %%i in ("%USERPROFILE%\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"
)
(9)А ещё лучше удалять папки с форматом названия GUID))))
@echo off
for /d %%i in ("%AppData%\1C\1Cv8\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%AppData%\1C\1Cv82\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%LOCALAPPDATA%\1C\1Cv8\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%LOCALAPPDATA%\1C\1Cv82\????????-????-????-????-????????????") do rd "%%~i" /S /Q
:))) Это если у вас 1с 8.3 в режиме совместимости. Если папок ...\1C\1Cv82\ нет, то соответствующие строки надо удалить)
@echo off
for /d %%i in ("%AppData%\1C\1Cv8\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%AppData%\1C\1Cv82\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%LOCALAPPDATA%\1C\1Cv8\????????-????-????-????-????????????") do rd "%%~i" /S /Q
for /d %%i in ("%LOCALAPPDATA%\1C\1Cv82\????????-????-????-????-????????????") do rd "%%~i" /S /Q
:))) Это если у вас 1с 8.3 в режиме совместимости. Если папок ...\1C\1Cv82\ нет, то соответствующие строки надо удалить)
А зачем кэш чистить? Просто вот так уже много разных этих скриптов я вижу и у меня такое чувство, что все кто пишет такие скрипты они кэш чистят вотпрям каждый день. Просто я по необходимости, а самая большая необходимость это ошибка формата потока и то каталог переименовываю. Вот очень интересно, кто и для чего чистит кэш 1с-ки и какие от этого плюсы?
(5) amon_ra, если вы не ведете разработку конфигурации, то чистить кэш не нужно! А я веду разработку новых подсистем. И если не почистить кэш, то у пользователей могут быть проблемы с БД. Поэтому проще после обновления почистить кэш всем, чем потом искать причину глюков!
(4) Xershi, Батник не паленный а специально для одного пользователя, часто у 3-4 пользователей возникает ошибка, а у остальных нет, поэтому поголовно всем чистить не нужно.
Тем более не нужно чистить мне, чтобы каждый раз конфу запускать по 5-10 минут пока там кеш заполнится. У меня более 10 конфигураций.
К тому же в нашей организации по политике безопасности я не имею доступ к папкам других пользователей. )))
Тем более не нужно чистить мне, чтобы каждый раз конфу запускать по 5-10 минут пока там кеш заполнится. У меня более 10 конфигураций.
К тому же в нашей организации по политике безопасности я не имею доступ к папкам других пользователей. )))
Делюсь своим bat'ником:
(Поменяйте под себя переменные и если вам надо управляемые формы то потрите "/RunModeOrdinaryApplication")
Бонусом кусочек примера запуска конфигуратора:
(Поменяйте под себя переменные и если вам надо управляемые формы то потрите "/RunModeOrdinaryApplication")
@echo off
@rem Installing the Cyrillic character set 'UTF-8'
@%windir%\System32\chcp.com 65001
@rem ~~~~~~~~~~~~~~~~~~~~~~~
@rem ### Variables
@rem ~~~~~~~~~~~~~~~~~~~~~~~
@rem ### Имя пользователя
@set user="Пользователь"
@rem ### Пароль
@set pswr="123456"
@rem ### Кластер \ Имя базы в кластере
@set base="ad\upp"
@rem ### Путь платформы (разный для х86 и х64 осей)
@IF EXIST C:\Progra~2\1cv8\common\1cestart.exe (
@set v8exe=C:\Progra~2\1cv8\common\1cestart.exe
) ELSE (
@set v8exe=C:\Progra~1\1cv8\common\1cestart.exe
)
@cls
@color 5
@if not "%minimized%"=="" goto :minimized
@set minimized=true
@start /min cmd /C "%~dpnx0"
@goto :EOF
:minimized
@echo.
@echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@echo _____ _ ______ _____
@echo / ____^| ^| ^| ____^| /\ ^| __ \
@echo ^| ^| ^| ^| ^| ^|__ / \ ^| ^|__) ^|
@echo ^| ^| ^| ^| ^| __^| / /\ \ ^| _ /
@echo ^| ^|____^| ^|____^| ^|____ / ____ \^| ^| \ \
@echo \_____^|______^|______/_/ \_\_^|__\_\
@echo / ____^| /\ / ____^| ^| ^| ^| ____^|
@echo ^| ^| / \ ^| ^| ^| ^|__^| ^| ^|__
@echo ^| ^| / /\ \^| ^| ^| __ ^| __^|
@echo ^| ^|____ / ____ \ ^|____^| ^| ^| ^| ^|____
@echo \_____/_/ \_\_____^|_^| ^|_^|______^|
@echo.
@echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@echo.
@rmdir "%AppData%\1C\1Cv8" /S /Q
@rmdir "%LOCALAPPDATA%\1C\1Cv8" /S /Q
@rem RunModeOrdinaryApplication - запустить в толстом клиенте
@rem ClearCache - почистить кэш
@start """" /wait %v8exe% ENTERPRISE /s%base% /ClearCache /N%user% /P%pswr% /RunModeOrdinaryApplication
@timeout 60
ПоказатьБонусом кусочек примера запуска конфигуратора:
@echo Run 1C as DESIGNER
@IF EXIST C:\Progra~2\1cv8\common\1cestart.exe (
@PushD C:\Progra~2\1cv8\common
) ELSE (
@PushD C:\Progra~1\1cv8\common
)
@1cestart.exe DESIGNER /s%base% /n%user% /p%pswr% /high /min
@PopD
reg add "HKCU\Software\Microsoft\Command Processor" /v DisableUNCCheck /t REG_DWORD /d 1
@echo off
2>nul del /s /q %LocalAppData%\1C\????????-????-????-????-???????????? && echo Каталог кэша удален
2>nul del /s /q %AppData%\1C\1cv8\????????-????-????-????-???????????? && echo Каталог кэша удален
2>nul del /s /q %AppData%\1C\1cv82\????????-????-????-????-???????????? && echo Каталог кэша удален
echo Чистка кэша завершена, данное окно можно закрывать.
pause
@echo off
2>nul del /s /q %LocalAppData%\1C\????????-????-????-????-???????????? && echo Каталог кэша удален
2>nul del /s /q %AppData%\1C\1cv8\????????-????-????-????-???????????? && echo Каталог кэша удален
2>nul del /s /q %AppData%\1C\1cv82\????????-????-????-????-???????????? && echo Каталог кэша удален
echo Чистка кэша завершена, данное окно можно закрывать.
pause
Мой вариант чистки кэша 1с у всех пользователей с сохранением настроек пользователей:
@echo off
set userspath=c:\users
FOR /D %%i in ("%userspath%\*") do (
FOR %%e in (Local Roaming) do (
FOR %%f in (1cv8 1cv82) do (
FOR /D %%j in ("%%i\AppData\%%e\1C\%%f\????????-????-????-????-????????????") do (
FOR /D %%k in ("%%j\????????-????-????-????-????????????") do (
FOR /D %%l in ("%%k\vrs-cache*") do (
echo %%l
rd /s /q %%l
)
)
FOR %%k in (Config ConfigSave DBNameCache SICache) do (
FOR /D %%l in ("%%j\%%k*") do (
echo %%l
rd /s /q %%l
)
)
)
)
)
)
ПоказатьВопросы с вознаграждением
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|