『原创』系统垃圾一键清理 BAT 优化安全版
在日常使用电脑的过程中,系统会产生大量的临时文件和垃圾文件,这些文件不仅占用存储空间,还可能影响系统性能,甚至引发系统崩溃和软件冲突。因此,定期清理这些垃圾文件显得尤为重要。本文将介绍经典的一键系统垃圾清理程序以及传说中的最新修改增强版、完美版,并探讨两者功能和区别。该批处理程序的主要功能是删除 Windows 系统中常见的垃圾文件,包括临时文件、缓存文件、日志文件等。通过简单的命令,可以高效地释放磁盘空间并优化系统性能。
首先来看看经典一键系统垃圾清理 BAT 程序,这是一个从 XP 时代就开始使用的清理程序,至今依然可用:
@echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %windir%\*.bak del /f /s /q %windir%\temp\*.* del /f /a /q %systemdrive%\*.sqm del /f /s /q %windir%\SoftwareDistribution\Download\*.* del /f /s /q "%userprofile%\cookies\*.*" del /f /s /q "%userprofile%\recent\*.*" del /f /s /q "%userprofile%\local settings\temporary internet files\*.*" del /f /s /q "%userprofile%\local settings\temp\*.*" echo 清除系统垃圾文件完成! echo. & pause
程序功能详解
删除临时文件
程序首先删除 %systemdrive%(通常是 C 盘)下的所有 .tmp、._mp、.gid、.chk 和 .old 文件。这些文件通常是应用程序运行时生成的临时文件,长期累积会占用大量空间。
清理 Windows 目录
程序接着清理 %windir%(Windows 系统文件夹)下的 .bak 文件和 temp 目录下的所有文件,释放系统资源。
清除下载缓存
删除 Windows 更新下载目录下的文件,以确保不再使用的安装包被清理。
用户目录清理
最后,程序会清理用户个人目录下的 Cookie、最近打开的文件记录、临时互联网文件等,这些文件可能会存储用户的浏览历史和临时数据。
最新修改版解读
以下是网上流传的最新修改增强版、完美版,代码如下:
@echo off echo. echo 正在安全地自动清除垃圾文件…… del /f /q %systemdrive%\*.tmp>nul 2>nul del /f /q %systemdrive%\*._mp>nul 2>nul del /f /q %systemdrive%\*.log>nul 2>nul del /f /q %systemdrive%\*.gid>nul 2>nul del /f /q %systemdrive%\*.chk>nul 2>nul del /f /q %systemdrive%\*.old>nul 2>nul del /f /q %windir%\*.bak>nul 2>nul del /f /q %windir%\*.tmp>nul 2>nul del /f /q %windir%\prefetch\*.*>nul 2>nul del /f /s /q %systemdrive%\recycled\*.* del /f /q "%ALLUSERSPROFILE%\Documents\DrWatson\*.*">nul 2>nul del /f /q "%USERPROFILE%\Cookies\*.txt">nul 2>nul del /f /q /s "%TEMP%\*.*">nul 2>nul del /f /q /s "%Systemroot%\Prefetch\*.*">nul 2>nul del /f /q "%USERPROFILE%\Recent\*.*">nul 2>nul del /f /q "%USERPROFILE%\Application Data\Microsoft\Office\Recent\*.lnk">nul 2>nul del /f /q /s "%USERPROFILE%\Local Settings\Temp\*.*">nul 2>nul rd /s /q %windir%\temp & md %windir%\temp>nul 2>nul if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.*>nul 2>nul del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*">nul 2>nul echo 清除系统LJ完成! echo. & pause
iHackSoft.com 深入做了分析,并对比了两者区别,认为这个修改版并不合理。两个版本的批处理脚本都是用来清理Windows系统中的临时文件和其他垃圾文件的,以下是它们之间的一些主要区别:
1. 输出信息
原始版本在清理过程中会显示每条删除命令,而修改版本则将所有输出重定向到nul,这意味着在执行过程中不会在命令提示符中显示任何信息。
2. 删除的文件类型
修改版本增加了对.log、.lnk和.txt文件的删除,这些在原始版本中没有包含。此外,修改版中删除了 %windir%\prefetch\ 和 %Systemroot%\Prefetch\,这些是预读取文件,通常不建议删除,因为它们可以提高系统启动速度。
3. 删除的目录
修改版本增加了对 %systemdrive%\recycled\ 的删除,这是回收站中的文件,通常不建议自动删除。修改版还增加了对 %ALLUSERSPROFILE%\Documents\DrWatson\ 的删除,这是系统错误报告的日志文件,通常不建议删除。
4. 临时文件夹的处理
修改版本中使用了 rd /s /q %windir%\temp & md %windir%\temp>nul 2>nul 来删除并重新创建 %windir%\temp 目录,这是Windows系统的临时文件夹。这样做可以确保临时文件夹是空的,但也可能导致正在使用临时文件夹的程序出现问题。
5. 错误处理
修改版本使用了>nul 2>nul来抑制错误信息,这意味着如果删除操作失败,用户将不会得到任何反馈信息。
总结,在合理性、安全性方面,两个批处理程序都有一定的风险,但是修改版本,它删除了一些通常不建议删除的文件和目录,如预读取文件和系统错误报告日志,故 iHackSoft.com 并不建议使用修改版。
是否要删除预读取文件?
del /f /q %windir%\prefetch\*.*
以上这一条用于清空 Windows 的预读取缓存(Prefetch)目录,而预读取机制的目的是加速应用程序的启动和系统的整体性能,加入这条命令会产生什么影响?
性能影响
短期:清空预取文件会导致一些应用程序在下次启动时加载速度变慢,因为系统需要重新生成预取文件。
长期:系统会逐渐重新建立预取文件,性能会逐步恢复。
磁盘空间
清空预取文件可以释放一些磁盘空间,尤其是当这些文件变得庞大或不再使用时。
系统稳定性
一般来说,删除预取文件不会影响系统的稳定性,但在短期内可能会感受到某些程序启动速度的降低。
如果你希望释放一些磁盘空间,并且不介意短期内可能导致一些程序启动较慢,可以考虑加入这条命令;如果更关注系统的启动和应用程序的运行速度,最好不删除预读取文件。我们不在乎这么点空间, 所以 iHackSoft 建议不删除。
最后,iHackSoft.com 结合实际应用场景,对代码进行了修改优化,比如去除了对 "%userprofile%\local settings\temporary internet files*.*" 目录的清理,这是 IE 浏览器的缓存目录,现在已经不再使用;再比如加入了双击自动以管理员权限运行,不再需要右击程序以“管理员身份运行”,增强使用体验。