@echo off
title Resetar ID do RustDesk
echo ===================================================
echo     Ferramenta para gerar novo ID no RustDesk
echo ===================================================
echo.

:: 1. Verifica se o script esta sendo executado como Administrador
net session >nul 2>&1
if %errorLevel% == 0 (
    echo [OK] Privilegios de Administrador confirmados.
) else (
    echo [ERRO] Falta de privilegios!
    echo Por favor, feche esta janela, clique com o botao direito no arquivo .bat 
    echo e selecione "Executar como administrador".
    echo.
    pause
    exit /b 1
)

echo.
echo [1/5] Encerrando o aplicativo RustDesk...
taskkill /F /IM rustdesk.exe /T >nul 2>&1

echo [2/5] Parando o servico do RustDesk...
:: Tenta parar pelos nomes de servico mais comuns do RustDesk
net stop RustDesk >nul 2>&1
net stop "RustDesk Service" >nul 2>&1

echo [3/5] Apagando as pastas de configuracao...
:: Apaga a pasta do LocalService
if exist "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk" (
    rmdir /S /Q "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk"
    echo   - Pasta do Windows excluida.
)

:: Apaga a pasta do usuario atual (%APPDATA% leva direto para a pasta Roaming do usuario)
if exist "%APPDATA%\RustDesk" (
    rmdir /S /Q "%APPDATA%\RustDesk"
    echo   - Pasta do Usuario excluida.
)

echo [4/5] Iniciando o servico do RustDesk novamente...
net start RustDesk >nul 2>&1
net start "RustDesk Service" >nul 2>&1

echo [5/5] Abrindo o RustDesk...
:: Verifica o caminho padrao de instalacao e abre o programa
if exist "C:\Program Files\RustDesk\rustdesk.exe" (
    start "" "C:\Program Files\RustDesk\rustdesk.exe"
) else if exist "C:\Program Files (x86)\RustDesk\rustdesk.exe" (
    start "" "C:\Program Files (x86)\RustDesk\rustdesk.exe"
) else (
    echo [AVISO] Nao foi possivel encontrar o executavel do RustDesk para abrir automaticamente.
    echo Por favor, abra o RustDesk manualmente pelo menu Iniciar.
)

echo.
echo ===================================================
echo Procedimento concluido! O RustDesk deve gerar um
echo novo ID exclusivo para esta maquina agora.
echo ===================================================
pause