WindowsXP下很多朋友都在使用“关机脚本 一键批处理来自动清理垃圾文件,不过这个招数到了Vista下却不灵了,虽然批处理命令仍然可以执行,但却发现很多垃圾文件并没有被清理掉 。这其中的原因是什么?在Vista下又该如何自动清理垃圾文件?董师傅今天就为大家解决这些难题 。
一、清理垃圾命令为何在Vista下失效
自动清理垃圾的批处理命令相信很多朋友都知道,其实就是一大堆删除命令的集合 。由于Vista采用NTFS格式的分区,文件(特别是系统目录下文件)的删除都要取得权限才能完成 。由于批处理脚本中很多命令要删除的是系统目录下的文件(比如“del/f/s/q%systemdrive%\*.log命令,在试图删除“C:\Windows\SoftwareDistribution\DataStore\Logs\edb.log时),系统会给出拒绝访问的提示,原因就是由于权限不足 。
董师傅提醒:网上很多垃圾文件清理脚本并不一定适合每个人,因为这也有可能误删除重要文件 。使用前应该了解清楚脚本的作用 。
因为出于安全考虑,在Vista中即使我们以系统管理员登录系统,但在实际操作中仍然只是拥有标准账户的权限 。关机脚本是通过命令提示符加载的,默认情况下是以标准用户身份运行,所以有些清理垃圾命令由于权限不足无法完成文件的删除 。
【Vista自动清理垃圾文件】二、Vista下如何自动清理垃圾
知道问题产生的原因后,解决问题的方法当然是提高权限运行批处理命令 。如果是手动清理垃圾,我们只要将清理脚本保存为BAT文件,然后右击它选择“以管理员身份运行即可 。不过,手动执行会遭遇UAC“阻截 。我们的目的是要自动执行批处理命令,因此我们要绕开UAC让命令自动执行 。关闭UAC当然不明智,这里可以借助任务计划完成命令自动执行 。
董师傅提示:对于系统目录下的一些重要文件,默认情况下只有内置的SYSTEM和ADMINISTRATOR用户拥有完全控制权限 。如果“以管理员身份运行后仍然无法删除文件,这时就要将文件所有权更改为当前登录用户、同时设置权限为“完全控制 。所有权和权限设置可以借助系统的takeown和cacls命令获得,命令具体使用请参考Windows的“帮助与支持 。
步骤1:将网上下载的脚本保存为“clean.bat,放置在c:\ 。接着单击“开始→所有程序→-附件→系统工具→任务计划程序,启动任务计划后单击“创建基本任务启动新建任务计划向导 。
步骤2:根据向导的提示,建立一个名为“clean的任务,触发器随选择一个无法执行的时间,比如设置为2006-1-1执行(这样这个任务实际是不会自动执行) 。操作选择“启动程序,单击“浏览选择运行的程序是“c:clean.bat 。
步骤3:完成后勾选“当单击完成时打开此任务属性的对话框,在打开的对话框切换到“常规选项卡 。安全选项下单击“更改用户和组,选择系统管理员账户运行该任务,同时勾选下方的“使用最高权限运行 。这样一旦运行任务计划,它就拥有管理员权限了 。
步骤4:启动记事本新建一批处理cl.bat,放置在c:,代码如下:
Rem使用任务计划命令启动清除垃圾,/run表示运行,/tn后跟任务名称Schtasks/run/tnclean
步骤5:单击“开始→“运行,输入“gpedit.msc启动“组策略编辑器 。依次展开“计算机配置→Windows设置/脚本(启动/关机),双击右侧窗格的“关机,在打开的窗口单击“添加,将“c:cl.bat添加到关机脚本 。OK 。以后每次关机,系统会自动调用这个批处理命令激活上述任务计划清除垃圾 。由于我们已经将任务运行设置为“使用最高权限运行(与右键“以管理员身份运行等效,但不会弹出UAC提示),这样运行的就是管理员权限,可以有效地删除系统垃圾文件 。
推荐阅读
- 修改注册表 让Vista不再提示“UAC已禁用”
- Win7清理占用系统内存的隐藏软件方法
- Vista+IE7登陆支付宝800A138F问题
- Windows Vista 紫屏死机是怎么回事?
- 手动清除Vista通知区域历史记录
- 手动或自动清除Vista通知区域历史记录
- Vista快速清理通知区域的图标
- 洗衣机出现e3是哪里坏
- 微软将在Vista SP2对驱动模型进行升级
- 轻轻松松 教你提高Vista安全性