Board logo

标题: [求助]请问如何判断autorun.inf是文件还是文件夹? [打印本页]

作者: xiaoyao1987     时间: 2007-2-14 00:50    标题: [求助]请问如何判断autorun.inf是文件还是文件夹?

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

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

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

我想把这两者区分开来:

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

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

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

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

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

作者: zh159     时间: 2007-2-14 03:16
XPSP2测试
dir/ad autorun.inf>nul 2>nul&&echo autorun.inf 是文件夹||echo autorun.inf 是文件

作者: qiuqiansuo     时间: 2007-2-14 03:36
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
可能烦琐了点 是以前写的了
作者: xiaoyao1987     时间: 2007-2-14 04:11


  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 ...

谢谢了,能不能把完整代码贴出来再加点注释啊...嘿嘿
作者: wxjclh     时间: 2007-2-14 04:36
autorun.inf\nul  就是判断文件夹
autorun.inf 就是文件
是句不甚明白
作者: xiaoyao1987     时间: 2007-2-14 05:27


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

me too
作者: slore     时间: 2007-2-14 06:20
@echo off
if exist autorun.inf\nul echo autorun.inf是文件夹&&goto Next
if exist autorun.inf echo 存在autorun.inf文件
:Next
pause>nul
作者: qiuqiansuo     时间: 2007-2-15 03:17


  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
作者: qingfushuan     时间: 2007-2-15 03:19    标题: cmd下

cmd 下dir /?
dir /ad  是文件夹
dir /a-d  除开文件夹
作者: lp1129     时间: 2007-3-30 00:01
下面是小弟的一段代码,可以提取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