批量删除系统临时文件的脚本

wen 实用脚本 2

本文目录导读:

批量删除系统临时文件的脚本

  1. 重要提示
  2. Windows 系统(.bat 批处理脚本)
  3. Linux / macOS 系统(.sh Shell 脚本)
  4. 更安全的替代方案(推荐)

这里为您提供几个不同场景下的批量删除系统临时文件的脚本,分别适用于 WindowsLinux/macOS 系统。

重要提示

请谨慎执行! 删除临时文件前,建议先关闭所有正在运行的程序(浏览器、Office等),以避免删除正在被使用的文件导致错误。


Windows 系统(.bat 批处理脚本)

这个脚本会清除 Windows 系统中最常见的几个临时文件夹,包括用户临时文件夹、系统临时文件夹、预读取文件(Prefetch)和回收站。

使用方法:

  1. 将以下代码复制到记事本中。
  2. 另存为 清理临时文件.bat (文件名随意,后缀必须是 .bat)。
  3. 右键点击该文件 -> 以管理员身份运行(非常重要,否则无法删除系统临时文件)。
@echo off系统临时文件清理工具
echo 正在清理临时文件,请稍候...
echo.
:: 1. 清除当前用户的临时文件 (%TEMP%)
echo [1/5] 正在清除用户临时文件夹...
del /f /s /q "%TEMP%\*.*" >nul 2>nul
for /d %%i in ("%TEMP%\*") do rd /s /q "%%i" >nul 2>nul
:: 2. 清除系统临时文件 (Windows\Temp)
echo [2/5] 正在清除系统临时文件夹...
del /f /s /q "C:\Windows\Temp\*.*" >nul 2>nul
for /d %%i in ("C:\Windows\Temp\*") do rd /s /q "%%i" >nul 2>nul
:: 3. 清除预读取文件 (Prefetch) - 加速程序启动的缓存
echo [3/5] 正在清除预读取文件...
del /f /s /q "C:\Windows\Prefetch\*.*" >nul 2>nul
:: 4. 清空回收站
echo [4/5] 正在清空回收站...
rd /s /q C:\$Recycle.bin >nul 2>nul
:: 5. 清除 Windows 更新缓存 (SoftwareDistribution)
echo [5/5] 正在清除 Windows 更新缓存...
net stop wuauserv >nul 2>nul
del /f /s /q "C:\Windows\SoftwareDistribution\Download\*.*" >nul 2>nul
net start wuauserv >nul 2>nul
echo.
echo 清理完成!
echo 按任意键退出...
pause >nul

Windows 增强版(推荐): 使用 Windows 自带的 cleanmgrDISM 工具更安全,可以将以下命令添加到上述脚本中:

:: 调用系统磁盘清理工具(需用户手动勾选)
start cleanmgr /sageset:1
start cleanmgr /sagerun:1

Linux / macOS 系统(.sh Shell 脚本)

这个脚本会清除用户缓存、缩略图、系统日志以及软件包管理器的缓存。

使用方法:

  1. 将以下代码复制到文本文件中,保存为 clean_temp.sh
  2. 打开终端,运行 chmod +x clean_temp.sh 赋予执行权限。
  3. 运行 sudo ./clean_temp.sh (需要 root 权限才能清理系统级缓存)。
#!/bin/bash
echo "正在清理系统临时文件..."
echo "————————————————————————"
# 1. 清空系统临时目录
echo "[1/6] 清空 /tmp 目录..."
sudo rm -rf /tmp/* /var/tmp/* 2>/dev/null
echo "      完成"
# 2. 清空用户缓存 (Thumbnails, cache)
echo "[2/6] 清空用户缓存..."
rm -rf ~/.cache/thumbnails/* 2>/dev/null
rm -rf ~/.cache/mozilla/* 2>/dev/null
rm -rf ~/.cache/google-chrome/* 2>/dev/null
# 清空所有用户级缓存(谨慎)
# rm -rf ~/.cache/* 2>/dev/null
echo "      完成"
# 3. 清空系统日志 (Journald)
echo "[3/6] 清空系统日志 (保留最近2天)..."
sudo journalctl --vacuum-time=2d 2>/dev/null
echo "      完成"
# 4. 清空 APT 包管理器缓存 (Ubuntu/Debian)
echo "[4/6] 清空 APT 缓存..."
sudo apt-get clean 2>/dev/null
sudo apt-get autoclean 2>/dev/null
echo "      完成"
# 5. 清空 YUM/DNF 包管理器缓存 (CentOS/Fedora)
echo "[5/6] 清空 YUM/DNF 缓存..."
sudo yum clean all 2>/dev/null || sudo dnf clean all 2>/dev/null
echo "      完成"
# 6. 清空缩略图缓存 (针对 GNOME/KDE)
echo "[6/6] 清空缩略图数据库..."
rm -rf ~/.local/share/Trash/* 2>/dev/null
rm -rf ~/.thumbnails/* 2>/dev/null
echo "      完成"
echo "————————————————————————"
echo "系统临时文件清理完毕!"

macOS 专用命令(替换上述的部分内容): 如果你使用 macOS,可以将脚本中的包管理器部分替换为:

# 清空 Homebrew 缓存
brew cleanup --prune=all 2>/dev/null
# 清空系统日志
sudo rm -rf /Library/Logs/*

更安全的替代方案(推荐)

有时候使用 delrm 可能会误删重要文件,以下是比较安全的方法:

  • Windows: 直接使用系统自带的“磁盘清理”工具(在C盘属性中),或者运行 cleanmgr 命令,它只会让你勾选可以安全删除的项目。
  • Linux: 使用 sudo apt autoremove 删除不再需要的依赖包,使用 bleachbit 图形化工具。
  • macOS: 使用“关于本机 -> 存储空间 -> 管理”中的系统推荐清理项。

最后再次提醒: 运行前请备份重要数据,尤其是不要随意删除 C:\Windows\System32 或 Linux 的 /etc 目录下的文件。

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