|
3#
楼主 |
发表于 2005-2-24 12:26:23
|
只看该作者
DOS下什么程序能判断那个光驱有盘?
[这个贴子最后由gotomsdos在 2005/02/24 04:02pm 第 4 次编辑]
已经解决了!
过程贴出来共享:
我发现有个棘手的问题没有解决:
这两天做启动光盘,其中有个菜单可启动杀毒盘景象,我想更新病毒库,但是那个景象容纳不下了(2.88的软盘景象,已经够大了...),于是想到了启动后通过AUTOEXEC.BAT运行FINDCD,自动切换到光盘.运行光盘上的程序(包括新病毒库),刻录成光盘后放在第一光驱没问题的,但是放在第二光驱就找不到了,因为FINDCD传递的CDROM变量只是光盘盘符,他好象不能判断出有盘的光驱呀...
试了用ERRORLEVEL的方法,但是总是给出
GERENAL ERROR READING DRIVE X:
ABORT, RETRY, FAILURE ? 停在那里
无法自动化!
不知道有什么参数或程序可判断出有盘的光驱?
最好是判断出正在运行的光盘的盘符..
(DOS联盟的JONEPENG 建议:
试试在Config.sys加一行:shell=command.com /f /p /e:640。这里/F参数允许DOS对“Abort, Retry, Ignore”进行自动应答。)
多谢JONEPENG的提示! 问题已解决了,关键是/F参数
开始用AUTOEXEC.BAT COMMAND /F /C 开始可以的,也许是这种方式占内存的因素,后来就不起作用了,改用 CONFIG.SYS SHELL=的方式就没问题了,也许是这种方式占内存较少,比较底层吧?
解决了烦人的GERENAL FAILURE READING FROM X: 提示
就好办了!
改写启动景象的AUTOEXEC.BAT 如下:
@ECHO OFF
lh shsucdx /d:dosrav
findcd /s
rem command /f /c
if exist %cdrom1%\rising\ravdos.exe goto cd1
if exist %cdrom2%\rising\ravdos.exe goto cd2
if exist %cdrom3%\rising\ravdos.exe goto cd3
if exist %cdrom4%\rising\ravdos.exe goto cd4
:cd1
%cdrom1%
goto end
:cd2
%cdrom2%
goto end
:cd3
%cdrom3%
goto end
:cd4
%cdrom4%
goto end
:end
cd\rising
lh smartdrv
lh ctmouse
PROMPT $p$g
CLS
ECHO.
ECHO ************************************************************************
ECHO.
ECHO It';s starting "Rising AntiVirus Software <2005>" now !
ECHO Copyright by Beijing Rising Tech. Co., Ltd.
ECHO 1998-2005
ECHO.
ECHO ************************************************************************
RAVDOS.EXE
用ERRORLEVEL 好象不行的,因为用了COMMAND /F的参数后,当找不到光盘时,系统会认为正常的,ERRORLEVEL 仍为0.
CONFIG.SYS:
dos=high,umb
device=himem.sys
devicehigh=vide-cdd.sys /d:dosrav
shell=command.com /f /p /e:640
BUFFERS=22,0
FILES=40
把光驱驱动和FINDCD放在景象中
再把瑞星DOS杀毒文件和SMARTDRV CTMOUSE放在光盘RISING目录中就行了!
解决的很完满! 因为不仅能判断出哪个光驱有盘,而且还能找到正在运行的光盘所在的光驱!
所需的重要文件在下面:
vide-cdd.sys
shsucdx.exe
findcd.exe
ctmouse.exe
[UploadFile=find_cdrom_1109232037.rar] |
|