如何用实用脚本自动清理系统垃圾?

wen 实用脚本 2

本文目录导读:

如何用实用脚本自动清理系统垃圾?

  1. Windows 系统(批处理脚本)
  2. Linux 系统(Bash 脚本)
  3. 自动化与定时任务
  4. 注意事项(必读)
  5. 如果不需要自己写,推荐工具

Windows 系统(批处理脚本)

这是最直接的方法,只需新建一个 .bat.cmd 文件。

安全通用版(清理临时文件、回收站、日志)

建议优先使用这个,只清理无风险的文件。

@echo off系统垃圾清理工具(安全版)
color 0A
echo 正在清理系统垃圾,请稍候...
:: 关闭回显,显示进度
echo [Step 1/5] 清理Windows临时文件...
del /f /s /q %WINDIR%\Temp\*.* >nul 2>nul
rd /s /q %WINDIR%\Temp >nul 2>nul
md %WINDIR%\Temp
echo [Step 2/5] 清理用户临时文件...
del /f /s /q %TEMP%\*.* >nul 2>nul
rd /s /q %TEMP% >nul 2>nul
md %TEMP%
echo [Step 3/5] 清理回收站...
rd /s /q C:\$Recycle.bin >nul 2>nul
echo [Step 4/5] 清理预读取文件(优化启动)...
del /f /s /q %WINDIR%\Prefetch\*.* >nul 2>nul
echo [Step 5/5] 清理Windows更新缓存(可选,如果您不想清理请删除此行)...
:: 关闭更新服务才能彻底清理
net stop wuauserv >nul 2>nul
del /f /s /q %WINDIR%\SoftwareDistribution\Download\*.* >nul 2>nul
net start wuauserv >nul 2>nul
echo.
echo 清理完成!启动菜单和部分应用可能需要重新加载。
pause

强力深度版(清理浏览器缓存、日志、图标缓存)

如果需要清理浏览器缓存和更多深层垃圾,可以用这个:

@echo off
echo 深度清理开始...
:: 1. 清理Windows更新留下的备份文件(可安全删除)
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
:: 2. 清理系统还原点(保留最新一个)
vssadmin delete shadows /for=c: /oldest
:: 3. 清理Chrome和Edge浏览器缓存
rd /s /q "%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache" 2>nul
rd /s /q "%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Cache" 2>nul
:: 4. 清理缩略图缓存
del /f /s /q /a %USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_*.db
:: 5. 调用系统自带磁盘清理工具(需要手动确认扫描)
cleanmgr /sageset:1  &&  cleanmgr /sagerun:1
echo 深度清理完成。

Linux 系统(Bash 脚本)

Ubuntu / Debian 通用版(APT包管理)

#!/bin/bash
echo "开始自动清理系统垃圾..."
# 清理APT缓存
sudo apt-get clean -y
sudo apt-get autoclean -y
sudo apt-get autoremove -y
# 清理journal日志(保留最近2天)
sudo journalctl --vacuum-time=2d
# 清理~/.cache下的用户缓存(注意:这会清理一些应用缓存)
rm -rf ~/.cache/*
# 清理系统临时文件
sudo rm -rf /tmp/*
# 清理缩略图缓存
rm -rf ~/.thumbnails/*
echo "Linux系统垃圾清理完成。"

所有发行版通用版(清理日志、包管理缓存、snap)

#!/bin/bash
set -e  # 遇到错误停止
echo "========= 全能垃圾清理脚本 ========="
# 1. 清理包管理缓存 (Fedora/RHEL用dnf,Arch用pacman)
if command -v apt-get &> /dev/null; then
    sudo apt-get autoremove --purge -y
    sudo apt-get clean
elif command -v dnf &> /dev/null; then
    sudo dnf clean all
elif command -v pacman &> /dev/null; then
    sudo pacman -Sc --noconfirm
fi
# 2. 清理旧内核(保留正在运行的内核 + 最近1个)
if command -v dpkg &> /dev/null; then
    sudo apt-get autoremove --purge -y 2>/dev/null
fi
# 3. 清理Snap包缓存(如果有)
if command -v snap &> /dev/null; then
    sudo snap set system refresh.retain=2  # 保留最近2个版本
    sudo snap clean --list 2>/dev/null
fi
# 4. 清理日志
sudo journalctl --vacuum-size=200M   # 只保留200MB日志
# 5. 清理用户目录下的临时文件
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.mozilla/firefox/*.default/cache2/* 2>/dev/null
echo "========= 清理完成 ========="

自动化与定时任务

Windows 计划任务

  1. 将上面的 .bat 文件保存为 cleanup.bat,放在一个稳定路径(如 C:\Scripts\)。
  2. 打开 任务计划程序
  3. 创建基本任务:
    • 触发器:每天/每周。
    • 操作:启动程序,路径选择 cleanup.bat
    • 勾选 使用最高权限运行(否则无法清理系统文件)。

Linux crontab

# 编辑定时任务
crontab -e
# 添加一行,每周日凌晨3点执行
0 3 * * 0 /path/to/cleanup.sh
# 如果是系统级清理,需要sudo,可以写为:
0 3 * * 0 sudo /path/to/cleanup.sh

注意:脚本文件必须先赋予执行权限:chmod +x /path/to/cleanup.sh


注意事项(必读)

类型 注意点
Windows脚本 - 清理 Prefetch 可能会让刚启动的软件变慢一次。
- 清理 SoftwareDistribution 会让系统重新下载更新,若网络不好请注释掉。
Linux脚本 - 清理 ~/.cache 会清空浏览器缓存、一些应用缓存,建议先确认。
- 清理旧内核:不要用通配符删,用包管理器自动处理更安全。
通用 - 脚本中使用了 del /qrm -f,请测试后再投入生产。
- 关注回收站和临时文件是安全的,但不推荐清理注册表(容易被脚本误伤)。

如果不需要自己写,推荐工具

系统 推荐工具
Windows BleachBit(开源,支持类似脚本的命令行模式 bleachbit_console.exe --preset --clean
Linux Stacer(GUI系统优化工具)或 sudo apt-get install localepurge(清理翻译文件)

如需更定制化(比如只清理指定软件的缓存、清理特定路径、加入日志记录),可以告诉我您的具体场景,我帮您调整脚本。

抱歉,评论功能暂时关闭!