@echo off
title 360清理优化卸载程序

:: 自动请求管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 正在请求管理员权限...
    powershell -Command "Start-Process \"%~f0\" -Verb runAs"
    exit /b
)

setlocal enabledelayedexpansion

:: 获取脚本所在目录（去除末尾反斜杠）
set "ScriptDir=%~dp0"
set "ScriptDir=%ScriptDir:~0,-1%"

echo ============================================
echo  360清理优化 V14 2026.7 独立版 卸载程序
echo ============================================
echo.

:: 1. 删除 C:\ProgramData\360safe
echo [1/4] 正在删除 C:\ProgramData\360safe...
if exist "C:\ProgramData\360safe" (
    rd /s /q "C:\ProgramData\360safe"
    if not exist "C:\ProgramData\360safe" (
        echo         [OK] 已删除。
    ) else (
        echo         [警告] 部分文件未能删除，可能正在被占用。
    )
) else (
    echo         [跳过] 文件夹不存在。
)
echo.

:: 2. 删除当前用户 AppData\Roaming\360Safe
echo [2/4] 正在删除 %USERPROFILE%\AppData\Roaming\360Safe...
if exist "%USERPROFILE%\AppData\Roaming\360Safe" (
    rd /s /q "%USERPROFILE%\AppData\Roaming\360Safe"
    if not exist "%USERPROFILE%\AppData\Roaming\360Safe" (
        echo         [OK] 已删除。
    ) else (
        echo         [警告] 部分文件未能删除，可能正在被占用。
    )
) else (
    echo         [跳过] 文件夹不存在。
)
echo.

:: 3. 删除脚本自身所在的软件根目录
echo [3/4] 正在删除软件目录...
echo         目标: %ScriptDir%
if exist "%ScriptDir%" (
    :: 创建临时清理脚本，等本脚本退出后再执行删除
    set "TempCleanup=%TEMP%\360CleanUninstall_%RANDOM%.bat"
    (
        echo @echo off
        echo timeout /t 2 /nobreak ^>nul
        echo rd /s /q "%ScriptDir%"
        echo if exist "%ScriptDir%" ^(
        echo     echo [警告] 部分文件未能删除，可能正在被占用。
        echo ^)
        echo del /f /q "%%~f0"
    ) > "!TempCleanup!"
    echo         [OK] 已准备清理任务。
) else (
    echo         [跳过] 目录不存在。
)
echo.

:: 4. 卸载完毕提示
echo [4/4] 卸载完成！
echo.
echo ============================================
echo  360清理优化 V14 2026.7 独立版 卸载完毕。
echo  感谢您的使用，我们下次有缘再会！
echo  作者：北极幸运星/YZM23333
echo ============================================
echo.
echo 注意：按任意键后，本脚本将退出并彻底删除软件目录，快捷方式请您自行移除。
echo.
echo 请按任意键退出...
pause >nul

:: 启动临时清理脚本（后台最小化），然后退出本脚本
if exist "%TempCleanup%" (
    start /min "" "%TempCleanup%"
)
exit
