admin管理员组

文章数量:1533917

2024年3月6日发(作者:)

龙源期刊网

垃圾清理的背后清理软件解密

作者:平淡

来源:《电脑爱好者》2013年第24期

知己知彼,心里有底。我们不能轻易将命运交给清理软件,所以最好要搞清楚它们运行的原理,是怎么判断文件有用没用的,是怎么判断注册表项是无效的,等等。

软件清理垃圾的流程

这里以360安全卫士为例。启动程序后切换到“一键清理”,选择要扫描的项目,点击“一键清理”,程序开始扫描指定位置的文件,完成后根据默认的勾选项,删除扫描到的垃圾文件(图1)。垃圾文件清理流程是:设定扫描条件→扫描具体文件→根据勾选删除指定文件。其中核心是“设定扫描条件”,也就是如何判断垃圾文件,请看下文解析。

垃圾文件判断标准

按照文件性质划分,垃圾文件主要有三大类:

第一类是电脑中无用的文件,比如回收站文件、看过的视频缓冲文件、上网产生的临时文件等。第二类是电脑软件使用痕迹文件,比如Word打开记录、上网浏览记录等。第三类则是注册表中的多余项目,比如无效、错误的注册表项目等等。垃圾清理软件也多是参照上述三大类文件来设定扫描条件。比如在金山卫士的“垃圾清理”中,完成扫描以后,程序会列出扫描到的垃圾文件(图2)。

电脑无用文件的判定

系统垃圾、上网残留垃圾、视频音乐垃圾等第一大类的垃圾文件,一般都有特定的文件扩展名,以“系统产生的垃圾/日志文件”为例,点击其后的“垃圾详情”,在打开的窗口可以看到,这里的垃圾文件大多是 “*.log”或者“*.tlg”文件,只是具体位置不同而已(图3)。

所以金山卫士是根据文件后缀来判定文件是否是垃圾文件的,比如要判定并扫描腾讯产品日志垃圾文件,因为腾讯软件一般在“C:\Users\当前用户\AppData\Roaming\Tencent\Logs”下产生日志文件,因此垃圾清理软件开发者只要在程序中添加一行搜索上述目录“*.tlg”的代码,再添加一条“Del *.tlg”删除指令,即可完成对腾讯产品日志垃圾文件的清理。

除了依靠文件扩展名之外,还可以依靠指定的目录来判断,比如Windows 7的临时文件目录在%USERPROFILE%\AppData\Local\Temp,清理软件只要设置一个删除该指定目录下的所有文件的命令就可以了。

电脑使用痕迹文件判定

龙源期刊网

电脑使用痕迹文件主要是一些应用程序运行后留下的一些数据。判定标准与上文所述相似,也主要是依靠文件扩展名和特定目录来判断。比如IE的历史记录在“C:\Users\当前用户\AppData\Local\Microsoft\Windows\Temporary Internet Files\5”下,在清理软件中添加删除此目录下的所有文件就可以了(图4)。

注册表中多余项目判定

注册表是Windows运行的中枢,几乎系统中所有的操作都会在注册表中留下痕迹。因此时间长了以后,不可避免地会在注册表中留下大量的垃圾数据。清理软件又是如何来判别的呢?下面以文件打开方式多余键值为例。

默认情况下,当我们在系统中为特定类型的文件关联打开方式后,系统会在注册表中生成相应的键值。比如在系统中安装Ghost Explorer软件(假设程序名为),并将其作为.gho文件的打开程序,此时展开[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.GHO\OpenWithList],右侧一个名为“a”的字符串值就被赋值为“”(图5)。

但是一段时间后,我又将Ghost Explorer软件卸载了,如果这一关联键值未被清理,就会也成为无效的键值了。清理软件根据默认注册表关联来判定(比如文件打开方式关联的是上述指定位置键值),软件先通过扫描指定键值,然后将其和正常键值比对,如果不一致,则将其判定为多余键值,最后将其标记并删除即可(图5)。

垃圾清理按需而删

通过上面的介绍,可见垃圾文件一键清理实质上只是一个删除文件的批处理+GUI外壳,它对于垃圾文件的判定,是根据程序内置的预设标准机械判断,因此造成“误删”的可能性还是很大的。

比如网站的Cookie文件,很多垃圾清理软件都判定为垃圾文件,对于隐私要求保护较高的用户,Cookie文件容易泄露隐私,自然是绝对的垃圾文件。但是对于那些马大哈,如果他们经常要登录不同论坛、网站,Cookie文件可以帮助他们记住不同的账户名称和密码,它不仅不是垃圾文件,而是很重要的密码记忆帮手。

总之,对于具体垃圾文件的清理,我们一定要根据自己的需求来选择性地删除。

本文标签: 文件扫描垃圾文件软件垃圾