|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『楼 主』:
版主在否?进来解决FINDCD问题~~~
使用 LLM 解释/回答一下
多光驱问题~~~
根据W版主对FINDCD的解释:
FINDCD 2就可以将第2个光驱的盘符分配为%CDROM%;FINDCD 3就可以分配第3个盘符,以此类推;若执行FINDCD /S,就一次性分配所有光盘盘符,分别为%CDROM1%、%CDROM2%,等等,而此时%CDROM%则为光盘总数目。
我在AUTOEXEC中分别对每个光驱进行判断,看是否存在需要的文件,如果%CDROM1%没有,就判断%CDROM2%。但是测试中发现如果CDROM1中没有光盘的话,它就不向下执行,而是显示
CDR101:NOT READY READ DRIVE D
ABORT,RETRY,FAIL?
现在的问题是,如何能够让它判断出CDROM1中并没有光盘,直接向下个光驱判断~~~
请版主帮忙,非常感谢!!!
Multi-drive issue~~~
According to the explanation by W moderator for FINDCD:
FINDCD 2 can assign the drive letter of the second CD-ROM as %CDROM%; FINDCD 3 can assign the drive letter of the third one, and so on; if you execute FINDCD /S, it will assign all CD-ROM drive letters at once, namely %CDROM1%, %CDROM2%, etc., and at this time %CDROM% is the total number of CD-ROMs.
I judge each CD-ROM respectively in AUTOEXEC to see if the required file exists. If %CDROM1% doesn't have it, then judge %CDROM2%. But in the test, if there is no CD in CDROM1, it doesn't execute downward and displays
CDR101: NOT READY READ DRIVE D
ABORT, RETRY, FAIL?
Now the problem is how to make it judge that there is no CD in CDROM1 and directly judge the next CD-ROM~~~
Please help the moderator, thank you very much!!!
|
|
2003-6-25 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
这不是FINDCD的问题,而是批处理程序的编写问题。这样吧,用FINDCD和DREADY合用就可以做到了。DREADY是一个非常小巧的专门用来检查驱动器的状态的软件,在我的MS-DOS 7.10启动盘中有这个程序。
This is not an issue with FINDCD, but rather an issue with the writing of the batch processing program. Well, you can do it by using FINDCD and DREADY together. DREADY is a very small software specifically used to check the status of drives. There is this program in my MS-DOS 7.10 boot disk.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-6-25 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
谢版主!原问题已经解决,的确是我在编写AUTOEXEC时的问题,后来使用了一个叫CDA的小工具用来判断光驱中是否有光盘,解决了这个问题!
现在多光驱问题已经解决,但是发现了新一个问题~~~
作成的引导盘在虚拟机中测试时,在VMware-workstation-4.0可以很好的工作,但是在Virtual PC5.2中却无法找到光驱。这是借用你的启动盘里做成的,如果用原98启动盘里的内容精简后加载光驱,就可以在Virtual PC中很好的工作,因此我不知道是否是你的启动盘中的MSCDEX的问题或者是VIDE-CDD.SYS和ASPICD.SYS的问题,困惑中~~~
附上AUTOEXEC源码,请指正,谢谢~~~
@ECHO OFF
XMSDSK 4096 /Y
FINDRAMD
COPY COMMAND.COM %RAMDRIVE%\
COPY RESTART.COM %RAMDRIVE%\
SET COMSPEC=%RAMDRIVE%\COMMAND.COM
LH KILLER
LH CTMOUSE
LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K
FINDCD /S
SET CDR=%CDROM1%
CDA %CDROM1% > NUL
IF ERRORLEVEL 1 GOTO CD2
IF EXIST %CDROM1%\DOS\NDD.EXE GOTO NEXT
:CD2
SET CDR=%CDROM2%
CDA %CDROM2% > NUL
IF ERRORLEVEL 1 GOTO CD3
IF EXIST %CDROM2%\DOS\NDD.EXE GOTO NEXT
:CD3
SET CDR=%CDROM3%
CDA %CDROM3% > NUL
IF ERRORLEVEL 1 GOTO CD4
IF EXIST %CDROM3%\DOS\NDD.EXE GOTO NEXT
:CD4
SET CDR=%CDROM4%
CDA %CDROM4% > NUL
IF ERRORLEVEL 1 GOTO CD5
IF EXIST %CDROM4%\DOS\NDD.EXE GOTO NEXT
:CD5
SET CDR=%CDROM5%
CDA %CDROM5% > NUL
IF ERRORLEVEL 1 GOTO CD6
IF EXIST %CDROM5%\DOS\NDD.EXE GOTO NEXT
:CD6
SET CDR=%CDROM6%
CDA %CDROM6% > NUL
IF ERRORLEVEL 1 GOTO END
IF EXIST %CDROM6%\DOS\NDD.EXE GOTO NEXT
GOTO END
:NEXT
COPY %CDR%\DOS\ndd.exe %RAMDRIVE%
%RAMDRIVE%
ndd.exe
GOTO RESET
:END
CLS
ECHO.
ECHO.
ECHO.
ECHO. ERROR: CD boot fail
ECHO.
ECHO It''s not YuLangPiaoLing''s Bootable CD or Your Driver is not supported.
ECHO.
ECHO Press any key to restart the computer or Press "Ctrl+C" to exit.
ECHO.
ECHO.
ECHO.
PAUSE > NUL
RESTART.COM
GOTO RESET
:RESET
Thanks to the moderator! The original problem has been solved, and it was indeed an issue when I was writing AUTOEXEC. Later, I used a small tool called CDA to determine if there was a disc in the CD drive, which solved the problem!
Now the multi-CD drive problem has been solved, but a new problem has been discovered~~~
The created boot disk works well when tested in VMware-workstation-4.0, but cannot find the CD drive in Virtual PC 5.2. This is borrowed from your boot disk. If I use the content from the original 98 boot disk to be streamlined and load the CD drive, it works well in Virtual PC. Therefore, I don't know if it's a problem with MSCDEX in your boot disk or with VIDE-CDD.SYS and ASPICD.SYS. I'm confused~~~
Attached is the AUTOEXEC source code for your correction, thank you~~~
@ECHO OFF
XMSDSK 4096 /Y
FINDRAMD
COPY COMMAND.COM %RAMDRIVE%\
COPY RESTART.COM %RAMDRIVE%\
SET COMSPEC=%RAMDRIVE%\COMMAND.COM
LH KILLER
LH CTMOUSE
LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K
FINDCD /S
SET CDR=%CDROM1%
CDA %CDROM1% > NUL
IF ERRORLEVEL 1 GOTO CD2
IF EXIST %CDROM1%\DOS\NDD.EXE GOTO NEXT
:CD2
SET CDR=%CDROM2%
CDA %CDROM2% > NUL
IF ERRORLEVEL 1 GOTO CD3
IF EXIST %CDROM2%\DOS\NDD.EXE GOTO NEXT
:CD3
SET CDR=%CDROM3%
CDA %CDROM3% > NUL
IF ERRORLEVEL 1 GOTO CD4
IF EXIST %CDROM3%\DOS\NDD.EXE GOTO NEXT
:CD4
SET CDR=%CDROM4%
CDA %CDROM4% > NUL
IF ERRORLEVEL 1 GOTO CD5
IF EXIST %CDROM4%\DOS\NDD.EXE GOTO NEXT
:CD5
SET CDR=%CDROM5%
CDA %CDROM5% > NUL
IF ERRORLEVEL 1 GOTO CD6
IF EXIST %CDROM5%\DOS\NDD.EXE GOTO NEXT
:CD6
SET CDR=%CDROM6%
CDA %CDROM6% > NUL
IF ERRORLEVEL 1 GOTO END
IF EXIST %CDROM6%\DOS\NDD.EXE GOTO NEXT
GOTO END
:NEXT
COPY %CDR%\DOS\ndd.exe %RAMDRIVE%
%RAMDRIVE%
ndd.exe
GOTO RESET
:END
CLS
ECHO.
ECHO.
ECHO.
ECHO. ERROR: CD boot fail
ECHO.
ECHO It''s not YuLangPiaoLing''s Bootable CD or Your Driver is not supported.
ECHO.
ECHO Press any key to restart the computer or Press "Ctrl+C" to exit.
ECHO.
ECHO.
ECHO.
PAUSE > NUL
RESTART.COM
GOTO RESET
:RESET
|
|
2003-6-26 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
CDA还没有DREADY功能强呢,而且更加笨重,体积高达11KB!而DREADY呢,不仅功能强大,却非常小巧实用,才400多字节呢。所以强烈建议使用DREADY来代替那个旧的CDA程序。
CDA is not as powerful as DREADY, and it is more cumbersome, with a size as large as 11KB! As for DREADY, it is not only powerful but also very compact and practical, only a few hundred bytes. Therefore, it is strongly recommended to use DREADY to replace that old CDA program.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
谢谢版主提醒,刚才看了一下,DREADY有四个返回值
0:READY,1:READY ONLY(/W),2:NOT READY,255:INVALID
的确很好,准备采用~~~
另:兼容性的问题还请版主考虑一下,因为你的启动盘MSDOS7.1在Virtual PC除了第5项可以启动外,其他的均不能正常启动,而在VMware-workstation中可以,因为它们两个的虚拟环境不一样,所以我想是不是兼容性问题,就象你所说的在845的主板上你的启动盘就会出现问题。
如果可以找出来是部分的问题,解决起来应该就可以有的放矢了,因此,我想请版主帮忙试一下看是哪部分的问题~~~
Thanks to the moderator for the reminder. Just now I took a look, DREADY has four return values: 0: READY, 1: READY ONLY (/W), 2: NOT READY, 255: INVALID. It's really good, and I'm going to adopt it~~~
In addition: Please consider the compatibility issue. Because your boot disk MSDOS7.1 can only boot at item 5 in Virtual PC, and others can't start normally, while it can in VMware-workstation. Because their virtual environments are different, so I think it might be a compatibility issue, just as you said that your boot disk will have problems on 845 motherboards.
If the part of the problem can be found, it should be possible to solve it with specific measures. Therefore, I want to ask the moderator to help test which part of the problem it is~~~
|
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
找出问题所在了,多次拦截后发现在加载 “ LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K ” 后出现如下提示:
PACKET FILES IS CORRUPT
在单独执行MSCDEX后,也是上面的提示,但是单独执行98原盘里的MSCDEX却是正常的。
看来问题是处在 MSCDEX 上了,比较了一下,98原盘里的是24.8K,而你用的是21.1K,不知这两个有和区别?
The problem has been found. After multiple interceptions, it is found that after loading "LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K", the following prompt appears:
PACKET FILES IS CORRUPT
When executing MSCDEX alone, the above prompt also appears, but executing the MSCDEX in the original 98 disc alone is normal.
It seems that the problem is with MSCDEX. After comparison, the one in the original 98 disc is 24.8K, while the one you are using is 21.1K. I wonder what the difference between these two is?
|
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
经过多次修改和测试总算解决了所有的问题~~~
的确是你的启动盘里的MSCDEX有问题,在某些环境里不能执行,换为98原盘里的MSCDEX后所有测试环境一切正常,呵呵
谢谢版主的帮助,也谢谢版主的启动盘,从里面学到了很多东西,现在基本上抛弃了微软的启动盘,都是自己做出来的,里面借用了很多你的思想和工具,在此向你致谢!
After multiple modifications and tests, all problems were finally solved~~~
Indeed, there was an issue with MSCDEX in your boot disk. It couldn't execute in some environments. After replacing it with MSCDEX from the original Windows 98 disk, all test environments worked normally. Hehe
Thank you, moderator, for your help and your boot disk. I've learned a lot from it. Now I basically use my own made boot disks, which borrow a lot of your ideas and tools. Here I express my gratitude to you!
|
|
2003-6-26 00:00 |
|
|
yiyesong
元老会员
        
积分 1987
发帖 632
注册 2002-10-27
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
WENGIER的那个启动盘中不能在VPC启动,不是因为MSCDEX的问题,而是加载了与其配套的CLOAKING,CLOAKING不能与VPC兼容。所以你在CONFIG.SYS中除掉就行了。不过去掉后,MSCDEX将占29K内存。而且这个MSCDEX确是和天汇汉字系统存在着兼容性问题。
在这里我推荐FREEDOS的SHSUCEX,占用内存不到11K,功能和兼容性都很好。是MSCDEX最好的替代品。
DREAD不如CDA,对磁盘不错,但是对光盘不行。
WENGIER的FICDCD.exe,有一个BUG,详见这里:http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298
In WENGIER's startup disk, it cannot boot in VPC not because of the issue with MSCDEX, but because CLOAKING that is配套 with it is loaded, and CLOAKING is not compatible with VPC. So you can just remove it from CONFIG.SYS. However, after removal, MSCDEX will occupy 29K memory. And this MSCDEX does have compatibility issues with Tianhui Chinese character system.
Here I recommend FREEDOS's SHSUCEX, which occupies less than 11K memory, and has good functions and compatibility. It is the best alternative to MSCDEX.
DREAD is not as good as CDA. It is good for disks but not for CDs.
There is a BUG in WENGIER's FICDCD.exe, see here: http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298
|

http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf
|
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
谢谢兄提示,CLOAKING我很早就发现兼容性的问题,所以一直就没有用它。WENGIER的那个MSCDEX即使单独使用,在VPC中也会报错的。
看了兄的文章,获益匪浅,我下载了你的启动盘包,准备仔细研究一下。
再次先感谢兄能将这么好的东东给大家分享!
Thanks for the brother's tip. I've long noticed compatibility issues with CLOAKING, so I've never used it. The MSCDEX from WENGIER even causes errors in VPC when used alone.
After reading the brother's article, I've gained a lot. I downloaded your boot disk package and am going to study it carefully.
Once again, thank you brother for sharing such a great thing with everyone!
|
|
2003-6-26 00:00 |
|
|
hunome
银牌会员
     颓废青年
积分 2265
发帖 721
注册 2003-5-12
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
恭喜雨浪兄解决了问题!还希望以后多来这里啊!
Congratulations to Brother Yulang for solving the problem! I hope you will come here more in the future!
|
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
呵呵,谢兄~~~
早上忘了开QQ,不好意思呀~~~
Hehe, thank you brother~~~
Forgot to turn on QQ this morning, sorry about that~~~
|
|
2003-6-26 00:00 |
|
|
hunome
银牌会员
     颓废青年
积分 2265
发帖 721
注册 2003-5-12
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
其实我告诉你的办法是可行的。
但如果你用xmsdsk,而不是ramdrive的话,要考虑默认盘符的问题。
光盘的盘符也一样。
具体的就是:用98原版的启动盘的%cdrom%和%ramd%改为了后来的%cdrom%和
%ramdrive%,并且好像前者是H而后者是H:的模式。
这样,在调用chcdrom的参数时要把c d 。。改为c: d: 。。。
In fact, the method I told you is feasible.
But if you use xmsdsk instead of ramdrive, you need to consider the problem of the default drive letter.
The same goes for the drive letter of the CD-ROM.
Specifically, in the original 98 boot disk, %cdrom% and %ramd% were changed to later %cdrom% and %ramdrive%, and it seems that the former is H and the latter is in the mode of H:.
In this way, when calling the parameters of chcdrom, you need to change c d.. to c: d:..
|
|
2003-6-26 00:00 |
|
|
雨浪飘零
中级用户
  
积分 364
发帖 95
注册 2003-6-15
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
你说的对,他们之间还是有区别的~~~
不用RAMDRIVE的原因是讨厌他在SETRAM。BAT中的编写,感觉不象是专业人员写出来的一样,另外98自带的FINDCD没有帮助说明,如果真如孤掌兄说的那样,就需要对应每一个文件去修改FINDCD,太麻烦了~~~
What you said is right, there are still differences between them~~~
The reason for not using RAMDRIVE is that I hate the writing in SETRAM.BAT. It doesn't seem to be written by a professional. Also, the FINDCD that comes with 98 has no help instructions. If it's really as Brother Guzhang said, then I need to modify FINDCD for each file, which is too troublesome~~~
|
|
2003-6-26 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
以下是引用yiyesong在2003-6-26 14:10:11的发言:
DREAD不如CDA,对磁盘不错,但是对光盘不行。
WENGIER的FICDCD.exe,有一个BUG,详见这里:http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298
DREADY为什么对光盘不行呢?我试过多次,好像可以吧?
关于FINDCD.EXE,其实手工清除%CDROM%变量,或者运行时指定/N选项不设置变量而用ERRORLEVEL来进行判断都是可以的。
The following is a quote fromyiyesongon 2003-6-26 14:10:11:
DREAD is not as good as CDA, it is good for disks but not for CDs.
There is a BUG in WENGIER's FICDCD.exe, see here: http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298
Why is DREADY not good for CDs? I've tried it many times, but it seems it can work?
Regarding FINDCD.EXE, in fact, manually clearing the %CDROM% variable, or using the /N option when running to not set the variable and using ERRORLEVEL for judgment is all right.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-6-26 00:00 |
|
|
yiyesong
元老会员
        
积分 1987
发帖 632
注册 2002-10-27
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
以下是引用Wengier在2003-6-26 20:03:25的发言:
关于FINDCD.EXE,其实手工清除%CDROM%变量,或者运行时指定/N选项不设置变量而用ERRORLEVEL来进行判断都是可以的。
用FINDCD /S 强行手工清都清不掉,比如你原来的CDROM1=G,你用SET CDROM1=清空后,再用SET命令查看。依然是CDROM1=G,WENGIER,你可以试试,你用一遍FINDCD /S,再清空,再用一遍,再清空,很快系统就会提醒你变量空间溢出。
The following is a quote from Wengier on 2003-6-26 20:03:25:
Regarding FINDCD.EXE, actually, manually clearing the %CDROM% variable or running with the /N option to not set the variable and using ERRORLEVEL for judgment are both feasible.
Using FINDCD /S to forcibly and manually clear can't remove it. For example, if your original CDROM1=G, after you use SET CDROM1= to clear it and then check with the SET command, it's still CDROM1=G. WENGIER, you can try it. Use FINDCD /S once, then clear it, use it again, then clear it. Soon the system will prompt you that the variable space is overflowing.
|

http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf
|
|
2003-6-27 00:00 |
|