win7纯净版 Win10纯净版 Win8系统 最新win10下载 Win10 21h1 Win11 22H2 win10激活

您当前所在位置:首页 > IT资讯 > 业界动态

清理系统垃圾代码真实情况怎么样

时间:2018-12-04     来源:系统堂     游览量:

前几年在网上出现了一个“一键清理系统垃圾文件.bat”,这个简单又方便的批处理很快就传开了。而且到现在还是很红。很多人都在用这个批处理清理Windows系统垃圾文件。大多数人觉得方便好用,也不管它的原理是什么,而一些喜欢搞清楚“为什么”的朋友也多少了解其中的原理。大家都认为这个批处理很安全,不会破坏系统中的正常文件,可以放心地使用。不过真的是这样吗?

@echo off

echo 正在清除系统垃圾文件,请稍等......

del /f /s /q %systemdrive%*.tmp

del /f /s /q %systemdrive%*._mp

del /f /s /q %systemdrive%*.log

del /f /s /q %systemdrive%*.gid

del /f /s /q %systemdrive%*.chk

del /f /s /q %systemdrive%*.old

del /f /s /q %systemdrive%recycled*.*

del /f /s /q %windir%*.bak

del /f /s /q %windir%prefetch*.*

rd /s /q %windir%temp & md %windir%temp

del /f /q %userprofile%cookies*.*

del /f /q %userprofile%recent*.*

del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"

del /f /s /q "%userprofile%Local SettingsTemp*.*"

del /f /s /q "%userprofile%recent*.*"

echo 清除系统LJ完成!

echo. & pause

嗯,非常简单的几行代码,作用却不小。我们把它分解看看。

del /f /s /q %systemdrive%*.tmp

del /f /s /q %systemdrive%*._mp

del /f /s /q %systemdrive%*.log

del /f /s /q %systemdrive%*.gid

del /f /s /q %systemdrive%*.chk

del /f /s /q %systemdrive%*.old

这几行代码是删除系统盘根目录冗余文件的,没什么问题,继续分解。

del /f /s /q %systemdrive%recycled*.*

如 果我没有理解错,这一行代码的作用是删除回收站中的文件。不过,recycled是FAT32格式下的回收站文件夹,如果你的硬盘不曾使用过FAT32格 式,一般不会出现这个文件夹。现在的Windows系统盘普遍已经采用NTFS格式,及有可能不存在recycled文件夹,所以这一行代码在大多数情况 下,是无效的。而在它有效的情况下,不经用户确认就直接删除回收站中的文件,容易造成难以挽回的损失。此为误区一。

del /f /s /q %windir%*.bak

这句的作用是删除Windows目录下的备份文件,也没有什么问题。

del /f /s /q %windir%prefetch*.*

prefetch中存放的是预读文件,可以加快程序启动速度。如果你的操作系统还是安装在机械硬盘中,把它删除了,虽然能够加快丁点电脑开机时间,但运行常用程序时会付出更多的时间。此为误区二。

rd /s /q %windir%temp & md %windir%temp

这 一行代码的作用是清理系统临时文件夹中的临时文件。先把临时文件夹删除,然后再创建。如果系统盘是FAT32文件格式下,这一行代码没什么副作用。但如果 系统盘的文件格式是NTFS,它会破坏系统文件夹原有的权限设置,造成一些软件的运行异常。这种异常较难排查(很多人都想不到是因为清理垃圾文件造成 的),特别是在服务器中表现尤为常见。此为误区三。

del /f /q %userprofile%cookies*.*

cookies的作用大家都很了解了,让我们在论坛、博客、微博等需要输入用户名、密码的地方不需要频繁输入的好东西,它的作用不只如此,不少朋友使用“一键清理系统垃圾文件.bat”时都把这句去掉了。姑且把它算为误区四吧。

del /f /q %userprofile%recent*.*

del /f /s /q "%userprofile%recent*.*"

把 这两行代码放在一起看。这两行让我纠结了很久,我一直以为是自己找到的“一键清理系统垃圾文件.bat”有问题,可是在搜索引擎来回翻腾了几圈下来发现, 确实没有错……这两行代码的作用是一样的,不过有后一行就够了,前一行是 多余+无效 。%userprofile%路径必须加引号才能在批处理中正确识别。此行的作用是删除最近打开的文档列表,而把它清空后,就不能快速地从最近打开的文档 列表找到刚刚打开过的文档,这样是否方便了电脑的使用,就见仁见智了。此乃误区五。

del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"

删 除IE临时文件,其实我们只要把IE临时文件夹的大小设置一个适当的值,通常就可以不用去管它了(推荐100M-200M之间)。Xiaowo遇到过需要 清空它的情况有两种:1、打开网页缓慢、网页元素无法更新,这是由于IE临时文件夹磁盘空间设置过大造成的,把其值设置小一些就行了;2、通过IE浏览器 看在线视频时无法缓冲,只要把这个文件夹清空一般就能解决问题。

del /f /s /q "%userprofile%Local SettingsTemp*.*"

这是最后一个误区。此行代码的作用是删除当前帐户临时文件夹中的临时文件,不过它只删除了文件,却留下了许多空文件夹(del命令只能够删除文件,不能够删除文件夹)。久而久之,临时文件夹中就留下了大量无用的空文件夹,没有完全达到清理垃圾的目的。

以 上特别列出了的六点,就是“一键清理系统垃圾文件.bat”中的六个误区,通过对此批处理的分解后,Xiaowo猜测,作者编写此批处理时是基于 FAT32文件系统格式。虽然代码上存在一些瑕疵,但不可否认,在很多人都才刚刚开始接触电脑的时候(包括Xiaowo),就已经有人编写出了这么优秀的 批处理,作者确实是一个让人佩服的电脑高手。相信在我写这篇博客的时候,自认为已经高出当时的自己几个段位了,而现在的批处理作者必定也还是高于现在的 Xiaowo几个段位的。

不过“一键清理系统垃圾文件.bat”毕竟是FAT32时期的产物,已经有点不适应现在的Windows系统环境了,希望大家在使用此批处理时,能够知道它的具体作用,优点与缺点,懂得根据自己的需求取舍其中的代码。这也就达到Xiaowo写这篇博客的目的了。

上一篇:最好用的无线鼠标推荐|办公无线鼠标推荐
下一篇:迅雷Mac版3.0.8发布新增功能成亮点