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