WINDOWS 清理垃圾的 批处理bat脚本

win11版本

bash 复制代码
@echo off
:: 设置控制台为UTF-8编码,避免乱码
chcp 65001 >nul

:: 设置日志文件路径
set "logFile=%userprofile%\Desktop\SystemCleanupLog.txt"
echo %date% %time% - 系统垃圾清理日志 > "%logFile%"

:: 清理Windows临时文件
echo 正在清理Windows临时文件夹...
echo %date% %time% - 清理Windows临时文件夹 >> "%logFile%"
del /f /s /q "%temp%\*" >nul 2>&1
rd /s /q "%temp%" >nul 2>&1
mkdir "%temp%" >nul 2>&1
echo Windows临时文件夹清理完成。
echo %date% %time% - Windows临时文件夹清理完成 >> "%logFile%"

:: 清理用户临时文件
echo 正在清理用户临时文件夹...
echo %date% %time% - 清理用户临时文件夹 >> "%logFile%"
for /d %%x in ("%systemdrive%\*\Users\*\AppData\Local\Temp") do (
    rd /s /q "%%x" >nul 2>&1
)
echo 用户临时文件夹清理完成。
echo %date% %time% - 用户临时文件夹清理完成 >> "%logFile%"

:: 清理系统日志文件
echo 正在清理系统日志文件...
echo %date% %time% - 清理系统日志文件 >> "%logFile%"
for /r "%systemdrive%" %%f in (*.log, *.bak, *.old, *.tmp, *.temp) do (
    del /f /q "%%f" >nul 2>&1
)
echo 系统日志文件清理完成。
echo %date% %time% - 系统日志文件清理完成 >> "%logFile%"

:: 清理缓存文件
echo 正在清理缓存文件...
echo %date% %time% - 清理缓存文件 >> "%logFile%"
for /r "%systemdrive%" %%f in (*.cache) do (
    del /f /q "%%f" >nul 2>&1
)
echo 缓存文件清理完成。
echo %date% %time% - 缓存文件清理完成 >> "%logFile%"

:: 清理浏览器缓存(以Chrome为例)
echo 正在清理浏览器缓存...
echo %date% %time% - 清理浏览器缓存 >> "%logFile%"
set "chromeCache=%userprofile%\AppData\Local\Google\Chrome\User Data\Default\Cache"
if exist "%chromeCache%" (
    del /f /s /q "%chromeCache%\*" >nul 2>&1
)
echo Chrome缓存清理完成。
echo %date% %time% - 清理 Chrome 缓存完成 >> "%logFile%"

:: 清理IE缓存
set "ieCache=%userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files"
if exist "%ieCache%" (
    del /f /s /q "%ieCache%\*" >nul 2>&1
)
echo IE缓存清理完成。
echo %date% %time% - 清理 IE 缓存完成 >> "%logFile%"

:: 清理Firefox缓存
set "firefoxCache=%userprofile%\AppData\Local\Mozilla\Firefox\Profiles\*\cache2"
if exist "%firefoxCache%" (
    del /f /s /q "%firefoxCache%\*" >nul 2>&1
)
echo Firefox缓存清理完成。
echo %date% %time% - 清理 Firefox 缓存完成 >> "%logFile%"

:: 清理Edge缓存
set "edgeCache=%userprofile%\AppData\Local\Microsoft\Edge\User Data\Default\Cache"
if exist "%edgeCache%" (
    del /f /s /q "%edgeCache%\*" >nul 2>&1
)
echo Edge缓存清理完成。
echo %date% %time% - 清理 Edge 缓存完成 >> "%logFile%"

:: 清理系统备份文件
echo 正在清理系统备份文件...
echo %date% %time% - 清理系统备份文件 >> "%logFile%"
for /r "%systemdrive%" %%f in (*.bak, *.old) do (
    del /f /q "%%f" >nul 2>&1
)
echo 系统备份文件清理完成。
echo %date% %time% - 系统备份文件清理完成 >> "%logFile%"

:: 清理系统回收站
echo 正在清理系统回收站...
echo %date% %time% - 清理系统回收站 >> "%logFile%"
rd /s /q "%systemdrive%\$Recycle.Bin" >nul 2>&1
md "%systemdrive%\$Recycle.Bin" >nul 2>&1
echo 系统回收站清理完成。
echo %date% %time% - 系统回收站清理完成 >> "%logFile%"

:: 清理Windows Update缓存
echo 正在清理Windows Update缓存...
echo %date% %time% - 清理Windows Update缓存 >> "%logFile%"
set "wuCache=%systemroot%\SoftwareDistribution\Download"
if exist "%wuCache%" (
    del /f /s /q "%wuCache%\*" >nul 2>&1
)
echo Windows Update缓存清理完成。
echo %date% %time% - 清理 Windows Update 缓存完成 >> "%logFile%"

:: 清理Windows Defender缓存
echo 正在清理Windows Defender缓存...
echo %date% %time% - 清理Windows Defender缓存 >> "%logFile%"
set "defenderCache=%ProgramData%\Microsoft\Windows Defender\Scans\Cache"
if exist "%defenderCache%" (
    del /f /s /q "%defenderCache%\*" >nul 2>&1
)
echo Windows Defender缓存清理完成。
echo %date% %time% - 清理 Windows Defender 缓存完成 >> "%logFile%"

echo 所有清理操作已完成。
echo %date% %time% - 所有清理操作已完成 >> "%logFile%"
pause

win7版本

bash 复制代码
@echo off
echo 正在清理系统垃圾文件,请稍候...

:: 设置日志文件路径
set "logFile=%userprofile%\Desktop\SystemCleanupLog.txt"
echo %date% %time% - 系统垃圾清理日志 > "%logFile%"

:: 清理Windows临时文件
echo 清理Windows临时文件夹...
echo %date% %time% - 清理Windows临时文件夹 >> "%logFile%"
del /f /s /q %temp%\* >nul 2>&1
rd /s /q %temp% >nul 2>&1
mkdir %temp% >nul 2>&1
echo %date% %time% - Windows临时文件夹清理完成 >> "%logFile%"

:: 清理用户临时文件
echo 清理用户临时文件夹...
echo %date% %time% - 清理用户临时文件夹 >> "%logFile%"
for /d %%x in (%systemdrive%\*\Users\*\AppData\Local\Temp) do (
    rd /s /q "%%x" >nul 2>&1
    echo %date% %time% - 清理 %%x >> "%logFile%"
)
echo %date% %time% - 用户临时文件夹清理完成 >> "%logFile%"

:: 清理系统日志文件
echo 清理系统日志文件...
echo %date% %time% - 清理系统日志文件 >> "%logFile%"
for /r %systemdrive% %%f in (*.log, *.bak, *.old) do (
    del /f /q "%%f" >nul 2>&1
    echo %date% %time% - 删除 %%f >> "%logFile%"
)
echo %date% %time% - 系统日志文件清理完成 >> "%logFile%"

:: 清理缓存文件
echo 清理缓存文件...
echo %date% %time% - 清理缓存文件 >> "%logFile%"
for /r %systemdrive% %%f in (*.cache) do (
    del /f /q "%%f" >nul 2>&1
    echo %date% %time% - 删除 %%f >> "%logFile%"
)
echo %date% %time% - 缓存文件清理完成 >> "%logFile%"

:: 清理临时文件
echo 清理临时文件...
echo %date% %time% - 清理临时文件 >> "%logFile%"
for /r %systemdrive% %%f in (*.tmp, *.temp) do (
    del /f /q "%%f" >nul 2>&1
    echo %date% %time% - 删除 %%f >> "%logFile%"
)
echo %date% %time% - 临时文件清理完成 >> "%logFile%"

:: 清理浏览器缓存(以Chrome为例)
echo 清理浏览器缓存...
echo %date% %time% - 清理浏览器缓存 >> "%logFile%"
set "chromeCache=%userprofile%\AppData\Local\Google\Chrome\User Data\Default\Cache"
if exist "%chromeCache%" (
    del /f /s /q "%chromeCache%\*" >nul 2>&1
    echo %date% %time% - 清理 Chrome 缓存完成 >> "%logFile%"
)

:: 清理IE缓存
set "ieCache=%userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files"
if exist "%ieCache%" (
    del /f /s /q "%ieCache%\*" >nul 2>&1
    echo %date% %time% - 清理 IE 缓存完成 >> "%logFile%"
)

:: 清理Firefox缓存
set "firefoxCache=%userprofile%\AppData\Local\Mozilla\Firefox\Profiles\*\cache2"
if exist "%firefoxCache%" (
    del /f /s /q "%firefoxCache%\*" >nul 2>&1
    echo %date% %time% - 清理 Firefox 缓存完成 >> "%logFile%"
)

:: 清理Edge缓存
set "edgeCache=%userprofile%\AppData\Local\Microsoft\Edge\User Data\Default\Cache"
if exist "%edgeCache%" (
    del /f /s /q "%edgeCache%\*" >nul 2>&1
    echo %date% %time% - 清理 Edge 缓存完成 >> "%logFile%"
)

:: 清理系统备份文件
echo 清理系统备份文件...
echo %date% %time% - 清理系统备份文件 >> "%logFile%"
for /r %systemdrive% %%f in (*.bak, *.old) do (
    del /f /q "%%f" >nul 2>&1
    echo %date% %time% - 删除 %%f >> "%logFile%"
)
echo %date% %time% - 系统备份文件清理完成 >> "%logFile%"

:: 清理系统回收站
echo 清理系统回收站...
echo %date% %time% - 清理系统回收站 >> "%logFile%"
rd /s /q %systemdrive%\$Recycle.Bin >nul 2>&1
md %systemdrive%\$Recycle.Bin >nul 2>&1
echo %date% %time% - 系统回收站清理完成 >> "%logFile%"

echo 清理完成。
echo %date% %time% - 清理完成 >> "%logFile%"
pause
相关推荐
chh5632 小时前
C++--内存管理
java·c语言·c++·windows·学习·面试
无限进步_3 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
量子炒饭大师3 小时前
【OpenClaw修炼宝典】——【Windows安装篇】想玩《爪子船长》复刻版却卡在安装?OpenClaw 从零环境搭建与编译全攻略 (小白避坑指南)
windows·openclaw
humors2213 小时前
一些安全类网站(不定期更新)
linux·网络·windows·安全·黑客·白帽
一个人旅程~4 小时前
双系统时windows如何读取linux ext4格式硬盘分区?
linux·windows·经验分享·电脑
格林威5 小时前
Windows 实时性补丁(RTX / WSL2)
linux·运维·人工智能·windows·数码相机·计算机视觉·工业相机
私人珍藏库5 小时前
[Windows] PDF工具箱 PDF24 Creator 11.30.0
windows·pdf·工具·软件·多功能
86Eric6 小时前
基于 Rclone 实现 Linux 数据库备份自动同步至 Windows 本地
linux·windows·rclone 自动同步
小小ken6 小时前
windows远程桌面连接报错:发生身份验证错误。要求的函数不受支持,这可能是因为在远程计算机上阻止 NTLM 身份验证。
windows·远程桌面·windows server
Magic--6 小时前
C++ STL中vector与list的核心区别
c++·windows·list