@echo off
setlocal EnableExtensions
chcp 65001 >nul 2>&1

fltmc >nul 2>&1
if not errorlevel 1 goto :gotAdmin
echo 正在请求管理员权限...
set "VBS=%TEMP%\juanbo_elevate.vbs"
> "%VBS%" echo Set UAC = CreateObject^("Shell.Application"^)
>> "%VBS%" echo UAC.ShellExecute "%~f0", "", "%~dp0", "runas", 1
cscript //nologo "%VBS%" >nul 2>&1
del "%VBS%" >nul 2>&1
exit /b

:gotAdmin
cd /d "%~dp0"

echo ================================
echo Windows 系统清理工具
echo 支持 Windows 7 / 8 / 10 / 11
echo ================================
echo.
echo 注意：本工具会清理系统日志、更新缓存与搜索索引，操作不可恢复。
echo 清理浏览器缓存前，请先关闭浏览器，否则被占用的文件会跳过。
echo.
echo 开始系统清理，请耐心等待...
echo.

rem 1. 系统临时文件夹
echo [1/24] 清理系统临时文件夹...
del /f /s /q "%SYSTEMROOT%\Temp\*.*" >nul 2>&1
echo 完成！
echo.

rem 2. 用户临时文件夹
echo [2/24] 清理用户临时文件夹...
del /f /s /q "%TEMP%\*.*" >nul 2>&1
echo 完成！
echo.

rem 3. 回收站
echo [3/24] 清理回收站...
powershell -NoProfile -ExecutionPolicy Bypass -Command "try { Clear-RecycleBin -Force -ErrorAction Stop } catch { exit 1 }" >nul 2>&1
if errorlevel 1 rd /s /q "%SystemDrive%\$Recycle.Bin" >nul 2>&1
echo 完成！
echo.

rem 4. Edge 浏览器缓存
echo [4/24] 清理 Edge 浏览器缓存...
for /d %%p in ("%LOCALAPPDATA%\Microsoft\Edge\User Data\*") do rd /s /q "%%p\Cache" >nul 2>&1
for /d %%p in ("%LOCALAPPDATA%\Microsoft\Edge\User Data\*") do rd /s /q "%%p\Code Cache" >nul 2>&1
for /d %%p in ("%LOCALAPPDATA%\Microsoft\Edge\User Data\*") do rd /s /q "%%p\GPUCache" >nul 2>&1
echo 完成！
echo.

rem 5. Chrome 浏览器缓存
echo [5/24] 清理 Chrome 浏览器缓存...
for /d %%p in ("%LOCALAPPDATA%\Google\Chrome\User Data\*") do rd /s /q "%%p\Cache" >nul 2>&1
for /d %%p in ("%LOCALAPPDATA%\Google\Chrome\User Data\*") do rd /s /q "%%p\Code Cache" >nul 2>&1
for /d %%p in ("%LOCALAPPDATA%\Google\Chrome\User Data\*") do rd /s /q "%%p\GPUCache" >nul 2>&1
echo 完成！
echo.

rem 6. Firefox 浏览器缓存
echo [6/24] 清理 Firefox 浏览器缓存...
for /d %%p in ("%LOCALAPPDATA%\Mozilla\Firefox\Profiles\*") do rd /s /q "%%p\cache2" >nul 2>&1
for /d %%p in ("%LOCALAPPDATA%\Mozilla\Firefox\Profiles\*") do rd /s /q "%%p\startupCache" >nul 2>&1
echo 完成！
echo.

rem 7. 系统日志
echo [7/24] 清理系统日志...
for /f "delims=" %%i in ('wevtutil el 2^>nul') do wevtutil cl "%%i" >nul 2>&1
echo 完成！
echo.

rem 8. Windows 更新缓存
echo [8/24] 清理 Windows 更新缓存...
net stop wuauserv >nul 2>&1
rd /s /q "%SYSTEMROOT%\SoftwareDistribution\Download" >nul 2>&1
net start wuauserv >nul 2>&1
echo 完成！
echo.

rem 9. 预取文件
echo [9/24] 清理预取文件...
del /f /s /q "%SYSTEMROOT%\Prefetch\*.*" >nul 2>&1
echo 完成！
echo.

rem 10. DNS 缓存
echo [10/24] 刷新 DNS 缓存...
ipconfig /flushdns >nul 2>&1
echo 完成！
echo.

rem 11. Windows 错误报告
echo [11/24] 清理 Windows 错误报告...
rd /s /q "%ALLUSERSPROFILE%\Microsoft\Windows\WER\ReportQueue" >nul 2>&1
rd /s /q "%ALLUSERSPROFILE%\Microsoft\Windows\WER\ReportArchive" >nul 2>&1
echo 完成！
echo.

rem 12. Office 缓存
echo [12/24] 清理 Office 缓存...
for /d %%p in ("%LOCALAPPDATA%\Microsoft\Office\*") do rd /s /q "%%p\OfficeFileCache" >nul 2>&1
echo 完成！
echo.

rem 13. 缩略图缓存
echo [13/24] 清理缩略图缓存...
del /f /s /q "%LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db" >nul 2>&1
echo 完成！
echo.

rem 14. 临时 Internet 文件
echo [14/24] 清理临时 Internet 文件...
rd /s /q "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files" >nul 2>&1
echo 完成！
echo.

rem 15. 字体缓存
echo [15/24] 清理系统字体缓存...
del /f /s /q "%WINDIR%\ServiceProfiles\LocalService\AppData\Local\FontCache\*.*" >nul 2>&1
echo 完成！
echo.

rem 16. Windows 搜索索引
echo [16/24] 清理 Windows 搜索索引...
net stop wsearch >nul 2>&1
rd /s /q "%PROGRAMDATA%\Microsoft\Search\Data\Applications\Windows" >nul 2>&1
net start wsearch >nul 2>&1
echo 完成！
echo.

rem 17. 内存转储文件
echo [17/24] 清理系统内存转储文件...
del /f /q "%SYSTEMROOT%\MEMORY.DMP" >nul 2>&1
del /f /s /q "%SYSTEMROOT%\Minidump\*.*" >nul 2>&1
echo 完成！
echo.

rem 18. 打印队列残留
echo [18/24] 清理打印队列残留...
net stop spooler >nul 2>&1
del /f /s /q "%SYSTEMROOT%\System32\spool\PRINTERS\*.*" >nul 2>&1
net start spooler >nul 2>&1
echo 完成！
echo.

rem 19. 最近打开的文件记录
echo [19/24] 清理最近打开的文件记录...
del /f /s /q "%APPDATA%\Microsoft\Windows\Recent\*.*" >nul 2>&1
echo 完成！
echo.

rem 20. 任务栏跳转列表
echo [20/24] 清理任务栏跳转列表...
del /f /s /q "%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*.*" >nul 2>&1
del /f /s /q "%APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*.*" >nul 2>&1
echo 完成！
echo.

rem 21. 注册表：最近文档历史
echo [21/24] 清理注册表：最近文档历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /f >nul 2>&1
echo 完成！
echo.

rem 22. 注册表：运行历史
echo [22/24] 清理注册表：运行历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /f >nul 2>&1
echo 完成！
echo.

rem 23. 注册表：搜索历史
echo [23/24] 清理注册表：搜索历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery" /f >nul 2>&1
echo 完成！
echo.

rem 24. 注册表：应用程序历史
echo [24/24] 清理注册表：应用程序历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths" /f >nul 2>&1
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ApplicationHistory" /f >nul 2>&1
echo 完成！
echo.

echo ================================
echo 系统清理完成！
echo 建议定期运行此工具以保持系统状态。
echo ================================
echo.
pause
