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
相关推荐
一心09218 小时前
SQL(window)日志在linux 下查看
linux·数据库·windows·sql·日志
私人珍藏库18 小时前
[Windows] PDF工具箱 PDF24 Creator 11.28.0
windows·pdf
勤劳打代码19 小时前
独辟蹊径 —— NSIS 自定义 EXE 应用名称
windows·flutter
深兰科技1 天前
深兰科技AI问诊助手走访打浦桥街道社区卫生服务中心
人工智能·windows·github·postman·visual studio·深兰科技·ai问诊
ajassi20001 天前
开源 C++ QT Widget 开发(十一)进程间通信--Windows 窗口通信
linux·c++·windows·qt·开源
PEI041 天前
Java集合遍历的方法有哪些
java·windows·python
vortex51 天前
Windows 电源管理和 Shutdown 命令详解
windows·stm32·命令行
winkel_wang1 天前
电脑接入企业中的网线,为啥网卡上面显示AD域名
网络·windows
十八旬1 天前
苍穹外卖项目实战(日记十四)-记录实战教程及问题的解决方法-(day3课后作业) 菜品停售启售功能
数据库·windows·spring boot·阿里云·idea
揭老师高效办公2 天前
在Excel和WPS表格中隔多行插入一个空白行
windows