@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

echo 正在清除临时文件，请稍候...

rem  清除当前用户临时文件
echo 正在清除当前用户临时文件...
rd /s /q "%temp%" 2>nul
md "%temp%" 2>nul

rem 清除所有用户临时文件
echo 正在清除所有用户临时文件...
for /d %%a in ("C:\Users\*") do (
    if exist "%%a\AppData\Local\Temp" (
        echo 正在清除：%%a\AppData\Local\Temp
        takeown /f "%%a\AppData\Local\Temp" /r /d y 2>nul
        icacls "%%a\AppData\Local\Temp" /grant administrators:F /t /q 2>nul
        rd /s /q "%%a\AppData\Local\Temp" 2>nul
        md "%%a\AppData\Local\Temp" 2>nul
    )
)

rem 清除系统临时文件
echo 正在清除系统临时文件...
takeown /f "C:\Windows\Temp" /r /d y 2>nul
icacls "C:\Windows\Temp" /grant administrators:F /t /q 2>nul
rd /s /q "C:\Windows\Temp" 2>nul
md "C:\Windows\Temp" 2>nul

echo 清除完成！

timeout /t 1 /nobreak >nul
exit /b 0
