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
相关推荐
Lxt.星翊17 小时前
MySQL(安装和卸载、数据库存储原理图)
linux·运维·windows
本贾尼19 小时前
csv文件用Excel打开后出现乱码的问题及其解决方法
windows·excel
夏玉林的学习之路1 天前
Anaconda的常用指令
开发语言·windows·python
爱隐身的官人1 天前
启动中国蚁剑antsword
windows·蚁剑
m0_674031431 天前
GitHub等平台形成的开源文化正在重塑加热d
windows·spring boot·spring
m0_674031431 天前
GitHub等平台形成的开源文化正在重塑鸡腿肉
windows·spring boot·spring
wudl55661 天前
JDK 21 API增强详解
java·开发语言·windows
m0_748233641 天前
【C++list】底层结构、迭代器核心原理与常用接口实现全解析
c++·windows·list