hack0573
(hack0573)
1
大学时期是Windows XP、Windows 7 的年代,那时经常会用到这个系统垃圾一键清理程序,很多年了,但现在偶尔还是会拿出来用一下,超级经典!因为是 bat 程序,所以没有复杂的界面,也不需要安装软件,只需要将它保存为 .bat 文件,然后右击以管理员身份运行,就能自动扫描并删除系统中积累的各种临时文件。
echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\temp\*.*
del /f /a /q %systemdrive%\*.sqm
del /f /s /q %windir%\SoftwareDistribution\Download\*.*
del /f /s /q "%userprofile%\cookies\*.*"
del /f /s /q "%userprofile%\recent\*.*"
del /f /s /q "%userprofile%\local settings\temporary internet files\*.*"
del /f /s /q "%userprofile%\local settings\temp\*.*"
echo 清除系统垃圾文件完成!
echo. & pause
atan
(阿炭)
2
的确经典!这个程序本质上就是利用 Windows 自带的 del 命令,批量删除一些常见的系统垃圾文件:
del /f /s /q %systemdrive%*.tmp
清理系统盘中的临时文件,例如 .tmp 文件
del /f /s /q %systemdrive%*.chk
删除磁盘检查产生的碎片文件
del /f /s /q %windir%\temp*.*
清理 Windows 系统临时目录
del /f /s /q %windir%\SoftwareDistribution\Download*.*
清理 Windows Update 下载缓存
同时,它还会处理:
.bak 备份文件
.old 旧文件
.gid 帮助文件缓存
浏览器临时文件
用户临时目录
最近访问记录等
mooncat
(月光猫影)
3
这段代码确实经典,不过在 Windows 10 和 Windows 11 上已大大失效,甚至可能引发报错。原因在于:
路径失效:Win10/11 的路径发生了变化(如 cookies、local settings 等硬编码路径在 Modern Windows 中已被符号链接替代或弃用)。
全盘扫描效率极低:在系统盘根目录使用 del /s %systemdrive%*.tmp 会扫描整盘,对于包含数十万文件的现代 SSD 来说极其缓慢,且易触发权限拦截。
缺乏现代系统清理项:未涵盖 Win10/11 最大的垃圾源头(如更新留下的旧系统备份 Windows.old、应用日志、传递优化缓存、应用商店缓存等)。
Windows 11/10 上建议优化成如下代码:
@echo off
setlocal DisableDelayedExpansion
:: 检查并自动获取管理员权限
>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"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
echo =======================================================
echo 正在清理 Windows 10/11 系统垃圾
echo =======================================================
echo.
:: 1. 清理用户临时文件夹 (%TEMP%)
echo [1/6] 正在清理用户临时文件 (%TEMP%)...
echo -------------------------------------------------------
del /f /s /q "%TEMP%\*.*"
for /d %%i in ("%TEMP%\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
echo.
:: 2. 清理系统临时文件夹 (%WINDIR%\Temp)
echo [2/6] 正在清理系统临时文件 (%WINDIR%\Temp)...
echo -------------------------------------------------------
del /f /s /q "%WINDIR%\Temp\*.*"
for /d %%i in ("%WINDIR%\Temp\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
echo.
:: 3. 清理 Windows 更新下载缓存
echo [3/6] 正在清理 Windows 更新下载缓存...
echo -------------------------------------------------------
net stop wuauserv >nul 2>&1
net stop bits >nul 2>&1
del /f /s /q "%WINDIR%\SoftwareDistribution\Download\*.*"
for /d %%i in ("%WINDIR%\SoftwareDistribution\Download\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
net start wuauserv >nul 2>&1
net start bits >nul 2>&1
echo.
:: 4. 清理预读取文件 (Prefetch)
echo [4/6] 正在清理 Prefetch 预读取缓存...
echo -------------------------------------------------------
del /f /s /q "%WINDIR%\Prefetch\*.*"
echo.
:: 5. 清理崩溃日志与错误报告 (Crash Dumps & Error Reports)
echo [5/6] 正在清理系统错误日志与内存转储文件...
echo -------------------------------------------------------
del /f /s /q "%LOCALAPPDATA%\CrashDumps\*.*" 2>nul
del /f /s /q "%ALLUSERSPROFILE%\Microsoft\Windows\WER\*.*" 2>nul
echo.
:: 6. 清理回收站
echo [6/6] 正在清空回收站...
echo -------------------------------------------------------
powershell -Command "Clear-RecycleBin -Force -ErrorAction SilentlyContinue"
echo 回收站已清空。
echo.
echo =======================================================
echo 系统垃圾文件清理完成!
echo =======================================================
echo.
pause
mooncat
(月光猫影)
4
另外也可以加入对 Edge/Chrome 缓存 和 Microsoft Store 缓存的清理,在 Win10/11 中经常暴涨占用数 GB 空间,完整代码如下,亲测无误。
@echo off
setlocal DisableDelayedExpansion
:: 检查并自动获取管理员权限
>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"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
echo =======================================================
echo 正在清理 Windows 10/11 系统垃圾
echo =======================================================
echo.
:: 1. 清理用户临时文件夹 (%TEMP%)
echo [1/9] 正在清理用户临时文件 (%TEMP%)...
echo -------------------------------------------------------
del /f /s /q "%TEMP%\*.*"
for /d %%i in ("%TEMP%\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
echo.
:: 2. 清理系统临时文件夹 (%WINDIR%\Temp)
echo [2/9] 正在清理系统临时文件 (%WINDIR%\Temp)...
echo -------------------------------------------------------
del /f /s /q "%WINDIR%\Temp\*.*"
for /d %%i in ("%WINDIR%\Temp\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
echo.
:: 3. 清理 Windows 更新下载缓存
echo [3/9] 正在清理 Windows 更新下载缓存...
echo -------------------------------------------------------
net stop wuauserv >nul 2>&1
net stop bits >nul 2>&1
del /f /s /q "%WINDIR%\SoftwareDistribution\Download\*.*"
for /d %%i in ("%WINDIR%\SoftwareDistribution\Download\*") do (
echo 删除目录: %%i
rmdir /s /q "%%i" 2>nul
)
net start wuauserv >nul 2>&1
net start bits >nul 2>&1
echo.
:: 4. 清理预读取文件 (Prefetch)
echo [4/9] 正在清理 Prefetch 预读取缓存...
echo -------------------------------------------------------
del /f /s /q "%WINDIR%\Prefetch\*.*"
echo.
:: 5. 清理 Windows 错误报告与崩溃日志 (新增)
echo [5/9] 正在清理系统错误报告与 CrashDumps...
echo -------------------------------------------------------
del /f /s /q "%LOCALAPPDATA%\CrashDumps\*.*" 2>nul
del /f /s /q "%LOCALAPPDATA%\Microsoft\Windows\WER\*.*" 2>nul
del /f /s /q "%ALLUSERSPROFILE%\Microsoft\Windows\WER\*.*" 2>nul
echo.
:: 6. 清理 Microsoft Edge 浏览器缓存 (新增)
echo [6/9] 正在清理 Edge 浏览器网页缓存...
echo -------------------------------------------------------
set "EDGE_CACHE=%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Cache\Cache_Data"
if exist "%EDGE_CACHE%" (
del /f /s /q "%EDGE_CACHE%\*.*"
) else (
echo 未找到 Edge 缓存目录或无需清理。
)
echo.
:: 7. 清理 Google Chrome 浏览器缓存 (新增)
echo [7/9] 正在清理 Chrome 浏览器网页缓存...
echo -------------------------------------------------------
set "CHROME_CACHE=%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache\Cache_Data"
if exist "%CHROME_CACHE%" (
del /f /s /q "%CHROME_CACHE%\*.*"
) else (
echo 未找到 Chrome 缓存目录或无需清理。
)
echo.
:: 8. 重置并清理 Microsoft Store 缓存 (新增)
echo [8/9] 正在重置 Microsoft Store 应用商店缓存...
echo -------------------------------------------------------
wsreset.exe
echo 应用商店缓存重置完毕。
echo.
:: 9. 清理回收站
echo [9/9] 正在清空回收站...
echo -------------------------------------------------------
powershell -Command "Clear-RecycleBin -Force -ErrorAction SilentlyContinue"
echo 回收站已清空。
echo.
echo =======================================================
echo 系统垃圾文件清理完成!
echo =======================================================
echo.
pause