|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『楼 主』:
Wengier 大侠我有问题请教,[急急急]!
Wengier 大侠, 我的电脑有三个光驱(一个刻录机和两个旧光驱), 我想制作一个自动安装Win98的可启动光盘, 现在需要光盘在启动后自动从三个光驱中找到本光盘所在盘符,才能对光盘进行操作.于是我使用了你的findcd.exe文件,并在autoexec.bat中加入了以下语句:
CTLOAD oakcdrom.sys /d:mscd001
MSCDEX.EXE /d:mscd001
Findcd/s
if %CDROM%#==5# goto 5CD
if %CDROM%#==4# goto 4CD
if %CDROM%#==3# goto 3CD
if %CDROM%#==2# goto 2CD
if %CDROM%#==0# goto err
:1CD
set Win98CD=%CDROM1%
goto 98UP
:2CD
if not exist %CDROM2%\win98\setup.exe goto 1cd
set Win98CD=%CDROM2%
goto 98UP
:3CD
if not exist %CDROM3%\win98\setup.exe goto 2cd
set Win98CD=%CDROM3%
goto 98UP
:4CD
if not exist %CDROM4%\win98\setup.exe goto 3cd
set Win98CD=%CDROM4%
goto 98UP
以上命令在理论上还算正确,但是当我用该光盘启动后却出现以下提示:
C:\>MSCDEX.EXE /d:mscd001
MSCDEX Version 2.95 already started
C:\>Findcd/s
CDROM=3
CDROM1=I:
CDROM2=J:
CDROM3=K:
C:\>if 3#==5# goto 5CD
C:\>if 3#==4# goto 4CD
C:\>if 3#==3# goto 3CD
C:\>if not exist K:\win98\setup.exe goto 2cd
Not ready reading drive K
Abort, Retry, Fail?
我分析了一下原因,发现当运行autoexec.bat后,程序先从最后一个光驱的盘符进行查找光盘,如果光盘中有指定的文件,则确定该光盘就是所要的盘符. 但是当光盘不在该光驱中,则会有以上出错的提示, 请问这个问题该如何解决? 另外请问还有没有更简便, 更好更准确的方法能让程序自动在几个光驱中找到当前光盘所在盘符? 请赐教,
万分感谢!
|
|
2003-6-7 00:00 |
|
|
Roy
管理员
專業島民
积分 4869
发帖 1633
注册 2002-12-10
状态 离线
|
『第
2 楼』:
改成這樣吧.....
Quote: | CTLOAD oakcdrom.sys /d:mscd001
MSCDEX.EXE /d:mscd001
Findcd/s
if %CDROM%#==5# goto 5CD
if %CDROM%#==4# goto 4CD
if %CDROM%#==3# goto 3CD
if %CDROM%#==2# goto 2CD
if %CDROM%#==0# goto err
:1CD
set Win98CD=%CDROM1%
goto 98UP
:2CD
command /f /c if not exist %CDROM2%\win98\setup.exe goto 1cd
set Win98CD=%CDROM2%
goto 98UP
:3CD
command /f /c if not exist %CDROM3%\win98\setup.exe goto 2cd
set Win98CD=%CDROM3%
goto 98UP
:4CD
command /f /c if not exist %CDROM4%\win98\setup.exe goto 3cd
set Win98CD=%CDROM4%
goto 98UP |
|
|
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
|
|
2003-6-7 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
3 楼』:
谢谢你,但是前面加command /f /c 是什么意思能否指点一下?
|
|
2003-6-7 00:00 |
|
|
Roy
管理员
專業島民
积分 4869
发帖 1633
注册 2002-12-10
状态 离线
|
|
2003-6-7 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
5 楼』:
前面加command /f /c 后还是结果不对呀,以下是加command /f /c 后的运行结果,注意此时我的光盘所在的实际盘符是“I”,而不是“K”。看来command /f /c 命令只是让系统忽略了出错提示而已:
CDROM1=I:
CDROM2=J:
CDROM3=K:
C:\>if 3#==5# goto 5CD
C:\>if 3#==4# goto 4CD
C:\>if 3#==3# goto 3CD
C:\>command /f /c if not exist K:\win98\setup.exe goto 2cd
Not ready reading drive K
Abort, Retry, Fail?
Not ready reading drive K
Abort, Retry, Fail?
C:\>set Win98CD=K:
C:\>goto 98UP
C:\>echo 这个电脑上的光驱盘符是:K:
这个电脑上的光驱盘符是:K:
|
|
2003-6-7 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
6 楼』:
难道各位大侠都没解决之道吗?看来只有等总版主Wengier和如是大师晚上出现了,惨!
|
|
2003-6-7 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
7 楼』:
。。。。。。
真是呢。。当光盘不在光驱中(或软驱不在软盘中)的时候,用DOS的任何命令读取光盘/软盘的时候,都会出现“Not ready...”之类的错误的。解决方法是,在用IF NOT EXIST...命令之前先用DREADY等命令判断一下光盘中是否有光盘,然后再进行下一步的操作,例如:
dready %CDROM2%
if errorlevel 1 goto 1cd
if not exist %CDROM2%\win98\setup.exe goto 1cd
set Win98CD=%CDROM2%
goto 98UP
另外,建议将OAKCDROM.SYS改成VIDE-CDD.SYS,以取得更好的效果。
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2003-6-7 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
8 楼』:
谢谢你了,Wengier站长同志! 终于盼到你的出现了.
另外,我想知道dready和VIDE-CDD.SYS的下在地址和详细用法你能赐教吗?
|
|
2003-6-8 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
9 楼』:
好的,DREADY和VIDE-CDD.SYS两个程序在我的MS-DOS 7.10启动盘中都有的,下载地址:
http://newdos.yginfo.net/dosware/mdos71bd.zip
VIDE-CDD.SYS跟OAKCDROM.SYS的用法相同,但强大实用得多。DREADY的用法见上。
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2003-6-8 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
10 楼』:
但是我在上面的批处理文件中用VIDE-CDD.SYS直接替换OAKCDROM.SYS,并用mdos71bd.zip
中的VIDE-CDD.SYS文件复制到该文件夹下,运行后却提示出错。但是换回原来的OAKCDROM.SYS后却又正常了,这是为何?请帮我看看:
CTLOAD Vide-cdd.sys /d:mscd001
MSCDEX.EXE /d:mscd001
|
|
2003-6-8 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
11 楼』:
提示什么错误呀?我用VIDE-CDD.SYS已经几年了,都没有问题的。
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2003-6-8 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
12 楼』:
我是在Win98下直接测试修改后的文件,不知有没有关系?
|
|
2003-6-8 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
13 楼』:
我再试一下在DOS下的运行情况!
|
|
2003-6-8 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
14 楼』:
在DOS下的运行后死机!看来是VIDE-CDD.SYS不能用Ctload.com从批处理中直接加载。难道它必修从CONFIG.sys中加载或用其他的文件才能调用?我再试试!
|
|
2003-6-8 00:00 |
|
|
sglxy
中级用户
MS-DOS爱好者
积分 397
发帖 87
注册 2002-12-15
状态 离线
|
『第
15 楼』:
找到原因了原来就是Ctload.com和Vide-cdd.sys不兼容造成的,我已经解决了。我在此真是收益非浅。Wengier 同志,谢谢你和你的论坛!
|
|
2003-6-8 00:00 |
|