Jackeriss 发表于 2014-2-5 16:37:32

“一键清理系统垃圾文件.bat”中的六个误区,你了解吗?

@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 Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统LJ完成!
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 Settings\Temporary Internet Files\*.*"
删 除IE临时文件,其实我们只要把IE临时文件夹的大小设置一个适当的值,通常就可以不用去管它了(推荐100M-200M之间)。我遇到过需清空它的情况有两种:1、打开网页缓慢、网页元素无法更新,这是由于IE临时文件夹磁盘空间设置过大造成的,把其值设置小一些就行了;2、通过IE浏览看在线视频时无法缓冲,只要把这个文件夹清空一般就能解决问题。
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
这是最后一个误区。此行代码的作用是删除当前帐户临时文件夹中的临时文件,不过它只删除了文件,却留下了许多空文件夹(del命令只能够删除文件,不能够删除文件夹)。久而久之,临时文件夹中就留下了大量无用的空文件夹,没有完全达到清理垃圾的目的。
以上特别列出来的六点,就是“一键清理系统垃圾文件.bat”中的六个误区,通过对此批处理的分,我猜测作者编写此批处理时是基于 FAT32文件系统格式,毕竟是FAT32时期的产物,已经有点不适应现在的Windows系统环境了,希望大家在使用此批处理时,能够知道它的具体作用,优点与缺点,懂得根据自己的需求取舍其中的代码。

0xAA55 发表于 2014-2-5 17:32:04

del /f /s /q %systemdrive%\*.log
这句我要讲讲。
有些旧的安装程序用install.log记录安装文件的列表。也就是说,install.log如果被删除,那么uninstall.exe等卸载程序将不知道该删除哪些文件。于是出现某些软件无法卸载的问题。
其次,有些程序会记录日志,有些程序比较重要比如游戏服务器(以Minecraft服务器为例)的日志对于管理者来说很有保留的必要。因为这样如果服务器出现恶意玩家,可以通过查看日志来判断恶意用户的IP,从而搞掉恶意用户。

fsjaky 发表于 2014-7-7 13:14:06

谢谢分享 看看
页: [1]
查看完整版本: “一键清理系统垃圾文件.bat”中的六个误区,你了解吗?