无忧启动论坛

标题: 关于写的一个批处理的错误,请帮助修正一下 [打印本页]

作者: freesoft00    时间: 2009-3-22 23:47
标题: 关于写的一个批处理的错误,请帮助修正一下
这是一个删除磁盘更目录病毒自动运行文件的批处理,原来的是这样的

FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%A:\AUTORUN.INF DO (
ATTRIB -S -H -R -A %%A:\AUTORUN.INF
DEL %%A:\AUTORUN.INF))

没有问题,我想改一下,我改成了这样的两个:
FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%A:\AUTORUN.INF DO (
CACLS %%A:\AUTORUN.INF /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\AUTORUN.INF
DEL %%A:\AUTORUN.INF))


FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
for %%b in (AUTORUN.IN? DESKTOP.INI folder.htt comment.htt) do
IF EXIST %%A:\%%b DO (
CACLS %%A:\%%b /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\%%b
DEL /A /F /Q %%A:\%%b))


我改的这两个都执行错误,无法执行,不知道那里的问题,那位可以帮着修正一下。
作者: haiou327    时间: 2009-3-23 01:00
  1. ECHO  Y|CACLS %%A:\AUTORUN.INF /T /C /P EVERYONE:F
复制代码

[ 本帖最后由 haiou327 于 2009-3-23 01:05 编辑 ]
作者: dos时代菜鸟    时间: 2009-3-23 07:15
好像缺了 括号
for .....do ()
if .....()
作者: freesoft00    时间: 2009-3-23 07:18
谢谢haiou327 的回复,你是说我上面的改成你这样的两个批处理就没有问题了吗
可我改了试了一下没有效果,还是不行
作者: freesoft00    时间: 2009-3-23 07:22
dos起的好早,刚还没有你的帖子,一眨眼就来了。
能具体到我这个帮着改一下吗,我不是太会
作者: dos时代菜鸟    时间: 2009-3-23 10:40
@echo off
FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
        echo %%A
        pause
        for %%b in (AUTORUN.IN? DESKTOP.INI folder.htt comment.htt) do (
                  IF EXIST %%A:\%%b  (
                      CACLS %%A:\%%b /C /P EVERYONE:F
                      ATTRIB -S -H -R -A %%A:\%%b
                      DEL /A /F /Q %%A:\%%b)
                   )
)
作者: haiou327    时间: 2009-3-23 12:42
  1. FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
  2. echo Y|CACLS %%A:\AUTORUN.INF /C /P EVERYONE:F
  3. ATTRIB -S -H -R -A %%A:\AUTORUN.INF
  4. del %%A:\AUTORUN.INF
  5. )
复制代码
  1. FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
  2. for %%b in (AUTORUN.IN? DESKTOP.INI folder.htt comment.htt) do (
  3. echo Y|CACLS %%A:\%%b /C /P EVERYONE:F
  4. ATTRIB -S -H -R -A %%A:\%%b
  5. DEL /A /F /Q %%A:\%%b
  6. ))
复制代码

作者: haiou327    时间: 2009-3-23 12:53
FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%A:\AUTORUN.INF (
echo Y|CACLS %%A:\AUTORUN.INF /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\AUTORUN.INF
DEL %%A:\AUTORUN.INF
    ))


FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
for %%b in (AUTORUN.IN? DESKTOP.INI folder.htt comment.htt) do (
IF EXIST %%A:\%%b (
CACLS %%A:\%%b /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\%%b
DEL /A /F /Q %%A:\%%b
           )
       )
  )

  1. 这是一个删除磁盘更目录病毒自动运行文件的批处理,原来的是这样的

  2. FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
  3. IF EXIST %%A:\AUTORUN.INF DO (
  4. ATTRIB -S -H -R -A %%A:\AUTORUN.INF
  5. DEL %%A:\AUTORUN.INF))

  6. 没有问题,
复制代码

这句你确定没有问题吗,
IF EXIST %%A:\AUTORUN.INF DO (
ATTRIB -S -H -R -A %%A:\AUTORUN.INF
DEL %%A:\AUTORUN.INF)
这句明明就有语法错误,去掉红色DO。。

[ 本帖最后由 haiou327 于 2009-3-23 13:04 编辑 ]
作者: freesoft00    时间: 2009-3-25 21:36
dos菜鸟和haiou327修改的都不行,还是有错误,不能自动执行,dos菜鸟那个每一个盘符要回车确认一下,如果有要删除的文件,还要确认一下。haiou327那个是刷出来好多行,然后到要删除的文件时也要一个一个确认。
而且批处理只能删除folder.htt comment.htt 文件,而AUTORUN.IN? DESKTOP.INI 不做处理。
如图:

7.JPG (35.7 KB, 下载次数: 129)

dos菜鸟修改的

dos菜鸟修改的

4.JPG (41.72 KB, 下载次数: 164)

haiou327修改的

haiou327修改的

作者: haiou327    时间: 2009-3-25 21:53
  1. haiou327那个是刷出来好多行,然后到要删除的文件时也要一个一个确认
复制代码




DEL /Q 静默删除,不要求确认..
刷出好多行,在CMD首加上

@echo off

[ 本帖最后由 haiou327 于 2009-3-25 21:55 编辑 ]
作者: lianjiang    时间: 2009-3-25 21:57
原帖由 freesoft00 于 2009-3-25 21:36 发表
dos菜鸟和haiou327修改的都不行,还是有错误,不能自动执行,dos菜鸟那个每一个盘符要回车确认一下,如果有要删除的文件,还要确认一下。haiou327那个是刷出来好多行,然后到要删除的文件时也要一个一个确认。
...


超版的脚本应是没问题的。试了一下,通过。
加上 >nul就看不到提示信息了。

echo y|cacls  %1 /t /p everyone:f  >nul 2>nul

or

echo y|cacls  %1 /t /p everyone:f >nul
作者: haiou327    时间: 2009-3-25 22:00
@Echo OFF
FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%A:\AUTORUN.INF (
echo Y|CACLS %%A:\AUTORUN.INF /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\AUTORUN.INF
DEL /Q %%A:\AUTORUN.INF
    ))>nul 2>nul



@Echo OFF
FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
for %%b in (AUTORUN.IN? DESKTOP.INI folder.htt comment.htt) do (
IF EXIST %%A:\%%b (
echo Y|CACLS %%A:\%%b /C /P EVERYONE:F
ATTRIB -S -H -R -A %%A:\%%b
DEL /A /F /Q %%A:\%%b
           )
       )
  )>nul 2>nul

[ 本帖最后由 haiou327 于 2009-3-25 22:18 编辑 ]
作者: haiou327    时间: 2009-3-25 22:20
第一部分可以删了,和第二个批有重复的...
可以把最后改成 rd /s /q %%A:\AUTORUN.INF替换DEL

[ 本帖最后由 haiou327 于 2009-3-25 22:26 编辑 ]
作者: freesoft00    时间: 2009-3-25 22:22
谢谢各位的热心回复了!!试批处理的时候,是忘了在前面加@echo off了
作者: dos时代菜鸟    时间: 2009-3-26 10:13
那是为了让你更方便的调试脚本,成功后可以 加参数屏蔽。
作者: caozhi256    时间: 2009-3-28 12:22
哈哈,以后学习要认真哟
作者: freesoft00    时间: 2009-3-28 20:11
借这个帖子向各位问一下,能不能修改一下老毛桃那个pe安装程序,使它安装的时候可以选择外置程序所在分区。
论坛上好几个pe都是按照毛桃那个pe的目录结构来的,比较通用。
如果毛桃那个安装程序有什么不完善或者是bug的地方希望也能修正一下。
作者: lvmenbo    时间: 2009-3-31 08:52
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3