中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 22:16
47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]请问如何判断autorun.inf是文件还是文件夹?
可打印版本  1,586 / 9
第1楼 xiaoyao1987 发表于 2007-02-14 00:50
初级用户 发帖 24 积分 63 来自 南京
[求助]请问如何判断autorun.inf是文件还是文件夹?
不好意思又要麻烦各位了...

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

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

我想把这两者区分开来:

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

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

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

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

我想把"open="后面的文件名提取出来删除,该怎么写?
第2楼 zh159 发表于 2007-02-14 03:16
金牌会员 发帖 1,467 积分 3,687
XPSP2测试

第3楼 qiuqiansuo 发表于 2007-02-14 03:36
初级用户 发帖 15 积分 28
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
可能烦琐了点 是以前写的了
第4楼 xiaoyao1987 发表于 2007-02-14 04:11
初级用户 发帖 24 积分 63 来自 南京
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 ...



谢谢了,能不能把完整代码贴出来再加点注释啊...嘿嘿
第5楼 wxjclh 发表于 2007-02-14 04:36
初级用户 发帖 32 积分 65
autorun.inf\nul 就是判断文件夹
autorun.inf 就是文件
是句不甚明白
第6楼 xiaoyao1987 发表于 2007-02-14 05:27
初级用户 发帖 24 积分 63 来自 南京
Originally posted by wxjclh at 2007-2-13 03:36 PM:
autorun.inf\nul 就是判断文件夹
autorun.inf 就是文件
是句不甚明白


me too
第7楼 slore 发表于 2007-02-14 06:20
铂金会员 发帖 2,478 积分 5,212
@echo off
if exist autorun.inf\nul echo autorun.inf是文件夹&&goto Next
if exist autorun.inf echo 存在autorun.inf文件
:Next
pause>nul
第8楼 qiuqiansuo 发表于 2007-02-15 03:17
初级用户 发帖 15 积分 28
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
第9楼 qingfushuan 发表于 2007-02-15 03:19
高级用户 发帖 327 积分 502
cmd下
cmd 下dir /?
dir /ad 是文件夹
dir /a-d 除开文件夹
第10楼 lp1129 发表于 2007-03-30 00:01
初级用户 发帖 92 积分 186
下面是小弟的一段代码,可以提取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
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023