前几年在网上出现了一个“一键清理系统垃圾文件.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完成! ?cho. & 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,它会破坏系统文件夹原有的权限设置,造成一些软件的运行异常。这种异常较难排查(很多人都想不到是因为清理垃圾文件造成的),特别是在服务器中表现尤为常见。此为误区三。 |