@echo off

:: 检查是否以管理员身份运行
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
    echo 正在请求管理员权限...
    goto UACPrompt
) else (
    goto gotAdmin
)

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" (
        del "%temp%\getadmin.vbs"
    )
    pushd "%CD%"
    CD /D "%~dp0"

:: 开始清理工具
chcp 65001 >nul
echo ================================
echo Windows 系统清理工具
echo 支持win7、win8、win10、win11
echo ================================
echo.
echo 开始系统清理，请耐心等待...
echo.

:: 1. 清理临时文件夹
echo [1/30] 清理系统临时文件夹...
del /f /s /q "%SYSTEMROOT%\Temp\*.*"
del /f /s /q "%USERPROFILE%\AppData\Local\Temp\*.*"
echo 完成！
echo.

:: 2. 清理回收站
echo [2/30] 清理回收站...
echo Y | PowerShell -Command "Clear-RecycleBin -Force"
echo 完成！
echo.

:: 3. 清理浏览器缓存
echo [3/30] 清理浏览器缓存...
:: 清理 Edge 浏览器缓存
rd /s /q "%USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default\Cache" 2>nul
:: 清理 Chrome 浏览器缓存
rd /s /q "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache" 2>nul
:: 清理 Firefox 浏览器缓存
rd /s /q "%USERPROFILE%\AppData\Local\Mozilla\Firefox\Profiles\*.default\Cache" 2>nul
echo 完成！
echo.

:: 4. 清理系统日志
echo [4/30] 清理系统日志...
wevtutil el | ForEach-Object {wevtutil cl "$_"} 2>nul
echo 完成！
echo.

:: 5. 清理 Windows 更新缓存
echo [5/30] 清理 Windows 更新缓存...
net stop wuauserv 2>nul
rd /s /q "%SYSTEMROOT%\SoftwareDistribution\Download" 2>nul
net start wuauserv 2>nul
echo 完成！
echo.

:: 6. 清理预取文件
echo [6/30] 清理预取文件...
del /f /s /q "%SYSTEMROOT%\Prefetch\*.*" 2>nul
echo 完成！
echo.

:: 7. 清理 DNS 缓存
echo [7/30] 清理 DNS 缓存...
ipconfig /flushdns
echo 完成！
echo.

:: 8. 清理 Windows 错误报告
echo [8/30] 清理 Windows 错误报告...
del /f /s /q "%ALLUSERSPROFILE%\Microsoft\Windows\WER\*.*" 2>nul
echo 完成！
echo.

:: 9. 清理 Office 缓存
echo [9/30] 清理 Office 缓存...
del /f /s /q "%USERPROFILE%\AppData\Local\Microsoft\Office\16.0\OfficeFileCache\*.*" 2>nul
echo 完成！
echo.

:: 10. 清理缩略图缓存
echo [10/30] 清理缩略图缓存...
del /f /s /q "%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_*.db" 2>nul
echo 完成！
echo.

:: 11. 清理临时 Internet 文件
echo [11/30] 清理临时 Internet 文件...
del /f /s /q "%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*" 2>nul
echo 完成！
echo.

:: 12. 清理 MSI 安装程序缓存
echo [12/30] 清理 MSI 安装程序缓存...
del /f /s /q "%WINDIR%\Installer\*.*" 2>nul
echo 完成！
echo.

:: 13. 清理系统字体缓存
echo [13/30] 清理系统字体缓存...
del /f /s /q "%WINDIR%\ServiceProfiles\LocalService\AppData\Local\FontCache\*.*" 2>nul
echo 完成！
echo.

:: 14. 清理 Windows 搜索索引
echo [14/30] 清理 Windows 搜索索引...
net stop wsearch 2>nul
rd /s /q "%ProgramData%\Microsoft\Search\Data\Applications\Windows" 2>nul
net start wsearch 2>nul
echo 完成！
echo.

:: 15. 清理旧的 Windows 安装文件
echo [15/30] 清理旧的 Windows 安装文件...
rd /s /q "%SYSTEMROOT%\Windows.old" 2>nul
echo 完成！
echo.

:: 16. 清理系统内存转储文件
echo [16/30] 清理系统内存转储文件...
del /f /s /q "%SYSTEMROOT%\MEMORY.DMP" 2>nul
del /f /s /q "%SYSTEMROOT%\Minidump\*.*" 2>nul
echo 完成！
echo.

:: 17. 清理系统更新临时文件
echo [17/30] 清理系统更新临时文件...
del /f /s /q "%SYSTEMROOT%\SoftwareDistribution\Download\*.*" 2>nul
echo 完成！
echo.

:: 18. 清理系统应用程序日志
echo [18/30] 清理系统应用程序日志...
del /f /s /q "%SYSTEMROOT%\System32\Winevt\Logs\*.*" 2>nul
echo 完成！
echo.

:: 19. 清理系统垃圾文件
echo [19/30] 清理系统垃圾文件...
del /f /s /q "%SYSTEMROOT%\System32\spool\PRINTERS\*.*" 2>nul
del /f /s /q "%SYSTEMROOT%\System32\spool\SERVERS\*.*" 2>nul
echo 完成！
echo.

:: 20. 清理系统预加载文件
echo [20/30] 清理系统预加载文件...
del /f /s /q "%SYSTEMROOT%\System32\CatRoot2\*.*" 2>nul
echo 完成！
echo.

:: 21. 清理最近打开的文件记录
echo [21/30] 清理最近打开的文件记录...
del /f /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\*.*" 2>nul
echo 完成！
echo.

:: 22. 清理开始菜单历史
echo [22/30] 清理开始菜单历史...
del /f /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Recently Used\*.*" 2>nul
echo 完成！
echo.

:: 23. 清理任务栏跳转列表
echo [23/30] 清理任务栏跳转列表...
del /f /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\*.*" 2>nul
del /f /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\*.*" 2>nul
echo 完成！
echo.

:: 24. 清理资源管理器地址栏历史
echo [24/30] 清理资源管理器地址栏历史...
del /f /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\*.*" 2>nul
echo 完成！
echo.

:: 25. 清理搜索历史
echo [25/30] 清理搜索历史...
del /f /s /q "%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer\*search*" 2>nul
echo 完成！
echo.

:: 26. 安全清理注册表 - 清理最近文档历史
echo [26/30] 安全清理注册表 - 最近文档历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /f 2>nul
echo 完成！
echo.

:: 27. 安全清理注册表 - 清理运行历史
echo [27/30] 安全清理注册表 - 运行历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /f 2>nul
echo 完成！
echo.

:: 28. 安全清理注册表 - 清理搜索历史
echo [28/30] 安全清理注册表 - 搜索历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery" /f 2>nul
echo 完成！
echo.

:: 29. 安全清理注册表 - 清理地址栏历史
echo [29/30] 安全清理注册表 - 地址栏历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths" /f 2>nul
echo 完成！
echo.

:: 30. 安全清理注册表 - 清理应用程序历史
echo [30/30] 安全清理注册表 - 应用程序历史...
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ApplicationHistory" /f 2>nul
echo 完成！
echo.

echo ================================
echo 系统清理完成！
echo 您的系统现在应该更加干净和流畅。
echo 所有打开记录和注册表垃圾已被清理，保护您的隐私。
echo 建议定期运行此工具以保持系统最佳状态。
echo ================================
echo.
pause