Board logo

标题: 一个批处理惹的祸 [打印本页]

作者: v2006v     时间: 2007-4-14 09:34    标题: 一个批处理惹的祸

以下是一个在网上搜索就能出来一堆的批处理,可以说是广为流传,咋一用起来也很方便,比什么上网助手之流方便多了,只用轻轻点一下鼠标,一切搞定,还能弹出很酷的黑色界面,我想很多网友也乐于此道吧!
@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 /q %userprofile%\*.*
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完成!
echo. & pause

仔细看这段代码有什么问题,一定要仔细看看异同点!
其实这段代码是没有任何错误的,顺利执行。
我不知道,是作者特意这么做,还是有人恶搞,
看这句 rd /s /q %windir%\temp & md %windir%\temp
问题就在此处,如果此批护理在 iis服务器,asp.net(其他web服务没有试验过)程序执行,你会发现所有页面都不能成功显示,而且显示的错误是framework目录下temp中随机文件写失败(而不是windir temp目录拒绝访问 汗。。。),这个问题不知道让多少人无限郁闷,重装程序,重装iis, 重做系统,重格硬盘,。。。。。,终于有为仁兄发现了这个问题,公布于世,才上我得以解脱,解救了天涯沦落人!
仅以此列,警示各位,程序需要严谨,让那些恶搞得人去死吧!
说了这么多,我想大家该知道,这个问题出在那里了吧?
作者: bjsh     时间: 2007-4-14 10:04
曾经饱受痛苦折磨呀!
作者: vkill     时间: 2007-4-14 10:08
真还没有发现这个哦~
作者: ls1314758     时间: 2007-4-14 11:05
汗,好可怕,幸好有楼主发出此贴,要不然连我都要重装了。
作者: everest79     时间: 2007-4-14 12:38
若是按楼主所讲,介个批处理在服务器上用的话,问题不止这一点,当然sa要是用这个来达到服务器清理,还是一头撞死的比较好,是不?呵呵
作者: lxmxn     时间: 2007-4-14 13:25
汗……如果对iis比较了解,在仔细看这个批处理,是不难发现问题的。
作者: mygoldnet     时间: 2007-4-15 02:05
del /f /s /q %systemdrive%\*.log

还有这一句,问题严重,我装的好多软件无法卸载了,比如Macromedia Director 8.0
提示"找不到什么.log"

强烈建议去掉

还有这一句,记住的密码都没了
del /f /q %userprofile%\cookies\*.*
我的论坛密码还要重新输入

强烈建议去掉
作者: langxingtianxia     时间: 2007-4-15 04:28
我的是XP系统,没有太多的注意这些问题,没办法,俺是菜鸟
作者: flyinspace     时间: 2007-4-15 04:40
呵呵,现在也有人提出了呀。。

其实还有几个隐蔽的问题在呢 。。

不过要改路径的用户才会有发现。
作者: inhor     时间: 2007-4-17 18:34
深受其害呀,苦哦
作者: luckboy45     时间: 2007-4-17 21:50
这个问题我曾经提出过,我执行该系统清理后把我的文档里面的东西除了图片和音乐都清理光了,贴老讨教却得不到合理的解释,受教了!~很感谢楼主为我解答!~
作者: v2006v     时间: 2007-4-18 01:59
这里rd /s /q %windir%\temp & md %windir%\temp
删除temp文件夹后,再建立temp文件夹,使ntfs安全中asp.net用户写权限丢失,造成以外的错误发生
作者: dingamao     时间: 2007-4-18 02:36


  Quote:
Originally posted by mygoldnet at 2007-4-14 01:05 PM:
del /f /s /q %systemdrive%\*.log

还有这一句,问题严重,我装的好多软件无法卸载了,比如Macromedia Director 8.0
提示"找不到什么.log"

强烈建议去掉 ...

强烈同意,总有人说log文件是垃圾文件,一定要清除,其它我的意见是最好可以保留,当然如果有能力的前提下手动,有选择性的进行删除当然很好,但用P处理全都删除,很容易出事
作者: NeedJava     时间: 2007-4-18 04:01    标题: 注意通用性

我估计原著者没有考虑那么多,如果不考虑NTFS系统的权限问题,此批处理是没有问题的

DIR /B /S /ON %windir%\temp\ >list

IF EXIST list FOR /F "delims=|" %%a IN ( list ) DO ATTRIB /S /D -S -H -A -R "%%a" & DEL /F /Q "%%a" 2>NUL & RD /S /Q "%%a\" 2>NUL

DEL /F /Q list

PAUSE
作者: zhoushijay     时间: 2007-4-18 04:07
从来不清理垃圾,系统用久了就还原一下好了,反正C盘又不去放东西
我是懒人
作者: NeedJava     时间: 2007-4-18 04:09
SET deletePath=%windir%\temp, %userprofile%\recent\, %userprofile%\Local Settings\Temp\

CALL XXX.BAT deletePath

提供思路,我个人不同意直接删除系统的文件夹再重建文件夹,如上面的RD & MD

注意由于用到了ATTRIB,防止里面的DESKTOP.INI被删,或者不用ATTRIB,或者重建DESKTOP.INI