天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧软件 >> 正文

Vista下自动清理垃圾文件有讲究

2009-1-9不详佚名
    Windows XP下很多朋友都在使用“关机脚本+一键批处理”来自动清理垃圾文件,不过这个招数到了Vista下却不灵了,虽然批处理命令仍然可以执行,但却发现很多垃圾文件并没有被清理掉。这其中的原因是什么?在Vista下又该如何自动清理垃圾文件?本文就为大家解决这些难题。

一、 清理垃圾命令为何在Vista下失效

对于自动清理垃圾的批处理命令相信很多朋友都知道,其实就是一大堆删除命令的集合,大家也可以到http://www.shudoo.com/bzsoft下载自动删除垃圾的批处理文件。由于Vista采用NTFS格式的分区,文件(特别是系统目录下文件)的删除都要取得权限才能完成。由于批处理脚本中很多命令要删除的是系统目录下的文件(比如“del /f /s /q %systemdrive%*.log”命令,在试图删除“C:\Windows\SoftwareDistribution\DataStore\Logs\edb.log”时),系统会给出拒绝访问的提示,原因就是由于权限不足(如图1)。

提醒:网上很多垃圾文件清理脚本并不一定适合每个人,因为这也有可能误删除重要文件。使用前应该了解清楚脚本的作用。

因为出于安全考虑,在Vista中即使我们以系统管理员身份登录系统,但在实际操作中仍然只是拥有标准账户的权限。关机脚本是通过命令提示符加载的,默认情况下是以标准用户身份运行,所以有些清理垃圾命令由于权限不足无法完成文件的删除。

二、Vista下如何自动清理垃圾

知道问题产生的原因后,解决问题的方法当然是提高权限运行批处理命令。如果是手动清理垃圾,我们只要将清理脚本保存为BAT文件,然后右击它选择“以管理员身份运行”即可。不过,手动执行会遭遇UAC“阻截”。我们的目的是要自动执行批处理命令,因此我们要绕开UAC让命令自动执行。关闭UAC当然不明智,这里可以借助任务计划完成命令自动执行。

董师傅提示:对于系统目录下的一些重要文件,默认情况下只有内置的SYSTEM和ADMINISTRATOR用户拥有完全控制权限。如果“以管理员身份运行”后仍然无法删除文件,这时就要将文件所有权更改为当前登录用户、同时设置权限为“完全控制”。所有权和权限设置可以借助系统的takeown和cacls命令获得,命令具体使用方法请参考Windows的“帮助与支持”。

步骤1:将网上下载的脚本保存为“clean.bat”,放置在c:\。接着单击“开始→所有程序→附件→系统工具→任务计划程序”,启动任务计划后单击“创建基本任务”启动新建任务计划向导。

步骤2:根据向导的提示,建立一个名为“clean”的任务,在触发器中选择一个无法执行的时间,比如设置为2006-1-1执行(这样这个任务实际是不会被自动执行的)。操作选择“启动程序”,单击“浏览”选择运行的程序是“c:\clean.bat”。

步骤3:完成后勾选“当单击完成时打开此任务属性的对话框”,将打开的对话框切换到“常规”选项卡。在安全选项下单击“更改用户和组”,选择系统管理员账户运行该任务,同时勾选下方的“使用最高权限运行”(如图2)。这样一旦运行任务计划,它就拥有管理员权限了。

步骤4:启动记事本新建一批处理cl.bat,放置在c:\,代码如下:

Rem 使用任务计划命令启动清除垃圾,/run 表示运行,/tn 后跟任务名称

Schtasks /run /tn clean

步骤5:单击“开始”→“运行”,输入“gpedit.msc”启动“组策略编辑器”。依次展开“计算机配置→Windows设置/脚本(启动/关机)”,双击右侧窗格的“关机”,在打开的窗口单击“添加”,将“c:cl.bat”添加到关机脚本。

这样,以后每次关机,系统会自动调用这个批处理命令激活上述任务计划清除垃圾。由于我们已经将任务运行设置为“使用最高权限运行”(与右键“以管理员身份运行”等效,但不会弹出UAC提示),这样运行的就是管理员权9 7 3 1 2 4 8 :

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行