中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请问如何判断autorun.inf是文件还是文件夹?
作者:
标题: [求助]请问如何判断autorun.inf是文件还是文件夹? 上一主题 | 下一主题
xiaoyao1987
初级用户





积分 63
发帖 24
注册 2006-12-19
来自 南京
状态 离线
『楼 主』:  [求助]请问如何判断autorun.inf是文件还是文件夹?

不好意思又要麻烦各位了...

是这样的,我想写个东西,通过检测磁盘根目录下有没有autorun.inf这个文件判断有没有病毒

而之前如果免疫过U盘病毒的机器上都会有一个autorun.inf的文件夹

我想把这两者区分开来:

如果autorun.inf是文件夹的话,就不管他。提示无病毒了

如果autorun.inf是文件的话,就进行下一步操作

另外还想问一下。。。怎么提取autorun.inf中指定位置的文件名来删除啊

我知道一般情况下中毒的机器上autorun.inf里都有一段
open=xxxx.exe

我想把"open="后面的文件名提取出来删除,该怎么写?


2007-2-14 00:50
查看资料  访问主页  发短消息 网志  OICQ (352120473)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

XPSP2测试
dir/ad autorun.inf>nul 2>nul&&echo autorun.inf 是文件夹||echo autorun.inf 是文件


2007-2-14 03:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qiuqiansuo
初级用户





积分 28
发帖 15
注册 2007-1-12
状态 离线
『第 3 楼』:  

autorun.inf\nul  就是判断文件夹
autorun.inf 就是文件


也可以根据autorun.inf的内容判断,我自己的一个p里面就是
set /p a=请输入你u盘的盘符:
set mypath3=%a%
if "%a%"=="" goto up
if exist %a%:\autorun.inf echo u盘可能有病毒!需再次检查! &ping -n 3 127.1>nul & goto knybd
echo u盘没有病毒! &ping -n 3 127.1>nul & goto bd
:knybd
for /f "skip=1 tokens=1 delims==" %%c in (%mypath3%:\autorun.inf) do if /i "%%c" equ "open" echo u盘有病毒! &ping -n 3 127.1>nul & goto ybd
echo u盘没有病毒 &ping -n 3 127.1>nul & goto bd
:ybd
for /f "tokens=2 delims=&" %%i in ('findstr /c:"6ubdwj" anti.ini') do del /f /a %a%:\%%i>nul 2>nul
goto upcg
可能烦琐了点 是以前写的了

2007-2-14 03:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaoyao1987
初级用户





积分 63
发帖 24
注册 2006-12-19
来自 南京
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by qiuqiansuo at 2007-2-13 02:36 PM:
autorun.inf\nul  就是判断文件夹
autorun.inf 就是文件


也可以根据autorun.inf的内容判断,我自己的一个p里面就是
set /p a=请输入你u盘的盘符:
set mypath3=%a ...

谢谢了,能不能把完整代码贴出来再加点注释啊...嘿嘿

2007-2-14 04:11
查看资料  访问主页  发短消息 网志  OICQ (352120473)  编辑帖子  回复  引用回复
wxjclh
初级用户





积分 65
发帖 32
注册 2007-1-17
状态 离线
『第 5 楼』:  

autorun.inf\nul  就是判断文件夹
autorun.inf 就是文件
是句不甚明白

2007-2-14 04:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaoyao1987
初级用户





积分 63
发帖 24
注册 2006-12-19
来自 南京
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by wxjclh at 2007-2-13 03:36 PM:
autorun.inf\nul  就是判断文件夹
autorun.inf 就是文件
是句不甚明白

me too

2007-2-14 05:27
查看资料  访问主页  发短消息 网志  OICQ (352120473)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

@echo off
if exist autorun.inf\nul echo autorun.inf是文件夹&&goto Next
if exist autorun.inf echo 存在autorun.inf文件
:Next
pause>nul

2007-2-14 06:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qiuqiansuo
初级用户





积分 28
发帖 15
注册 2007-1-12
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by slore at 2007-2-13 05:20 PM:
@echo off
if exist autorun.inf\nul echo autorun.inf是文件夹&&goto Next
if exist autorun.inf echo 存在autorun.inf文件
:Next
pause>nul

就是slore那样的 当时没说全 :P

2007-2-15 03:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 9 楼』:  cmd下

cmd 下dir /?
dir /ad  是文件夹
dir /a-d  除开文件夹

2007-2-15 03:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lp1129
初级用户





积分 186
发帖 92
注册 2007-3-27
状态 离线
『第 10 楼』:  

下面是小弟的一段代码,可以提取autorun.inf中的病毒文件名称并删除:

@ECHO off & setlocal EnableDelayedExpansion
FOR %%c in (Z,Y,X,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C) do (
        set a=%%c
        IF exist %%c: call :lp
)
pause>nul
:lp
   if exist %a%:\autorun.inf\nul echo %a%盘已经有保护了&goto :eof
   if exist %a%:\autorun.inf goto ly
   echo %a%盘没有发现病毒
   goto :eof
   :ly
      for /f "delims=" %%i in ('findstr /i "open=" %a%:autorun.inf') do (
      set aa=%%i
      echo %a%盘发现!aa:~5,20!病毒
      del /f /a /q %a%:autorun.inf
      del /f /a /q %a%:!aa:~5,20! 2>nul
      echo 杀毒完成
      )
   goto :eof

2007-3-30 00:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: