@echo off
chcp 1251 >nul
echo ============================================
echo Очистка кэша сервера 1С:Предприятие
echo ============================================
echo.

rem Проверка прав администратора
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo ОШИБКА: Запустите скрипт от имени Администратора!
    pause
    exit /b 1
)

echo 1. Остановка служб 1С...
net stop "1C:Enterprise 8.3 Server Agent (x86-64)" >nul 2>&1
net stop "1C:Enterprise 8.3 Server Agent" >nul 2>&1
timeout /t 3 /nobreak >nul

echo 2. Принудительное завершение оставшихся процессов...
taskkill /F /IM rphost.exe >nul 2>&1
taskkill /F /IM rmngr.exe >nul 2>&1
taskkill /F /IM ragent.exe >nul 2>&1
timeout /t 5 /nobreak >nul

echo 3. Удаление сеансовых данных...
set "srvinfo=C:\Program Files\1cv8\srvinfo"
set "deleted=0"

rem Перебираем все кластеры (все папки reg_*)
for /d %%p in ("%srvinfo%\reg_*") do (
    rem Внутри каждого кластера удаляем папки snccntx*
    for /d %%s in ("%%p\snccntx*") do (
        echo Удаление: %%s
        rmdir /s /q "%%s"
        set /a deleted+=1
    )
)

echo Удалено папок: %deleted%

echo 4. Запуск служб 1С...
net start "1C:Enterprise 8.3 Server Agent (x86-64)" >nul 2>&1
net start "1C:Enterprise 8.3 Server Agent" >nul 2>&1

echo.
echo ============================================
echo Очистка завершена. Службы запущены.
echo Время: %date% %time%
echo ============================================
pause