中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » DOS下如何编程来判断光驱已经装入?
« [1] [2] [3] [4] »
作者:
标题: DOS下如何编程来判断光驱已经装入? 上一主题 | 下一主题
pfox
银牌会员




积分 1451
发帖 446
注册 2002-10-20
状态 离线
『第 16 楼』:  

虽然麻烦了点,但是也是一个很不错的处理方法(我原来就是不想再用批处理进行转换)。

:)





我的下载空间
2003-2-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 17 楼』:  

能不能对 FINDCD 再做加强,以实现上述功能呢?这样可以省去一些麻烦.



欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-2-20 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 18 楼』:  

运行FINDCD之后,用SET命令会出现几行乱码。是不是程序的问题?



欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-2-20 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 19 楼』:  

什么乱码?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-2-20 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 20 楼』:  

运行FINDCN之前执行SET命令
-------------------------------------------------------------------------

E:\>set
TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
COMSPEC=C:\WINDOWS\COMMAND.COM
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4

E:\>

---------------------------------------------------------------------------------------

运行FINDCN之后:
---------------------------------------------------------------------------------------

E:\恒昌电脑刻录光盘\dos2\FINDCD>findcd
CDROM=F:

E:\恒昌电脑刻录光盘\dos2\FINDCD>set
TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
COMSPEC=C:\WINDOWS\COMMAND.COM
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4
CMDLINE=findcd
CDROM=F:
%u蟍??C
梃?3缷琚!??
9PSRW??
??緕媽D6墊4荄@
苿?
$荄D

E:\恒昌电脑刻录光盘\dos2\FINDCD>

---------------------------------------------------------------------------------------





欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-2-21 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 21 楼』:  

好吧,既然如此,我再次做了增强,增加了以下选项(注:一次最多只能输入一个选项):

/N:只在屏幕上显示,而不设置环境变量;
/Q:不在屏幕上显示,而只设置环境变量;
/?:帮助;
/S:全部设置模式(即pfox和lydong想要的效果)。例如,现有F与G盘两个光驱,运行FINDCD /S后的结果是:

CDROM=2
CDROM1=F:
CDROM2=G:

注:若运行正常的话,则ERRORLEVEL值为0,否则为1(无光驱)或2(无法设置环境变量)。

下载地址:打开附件    链接已失效(管理员注 2009-4-28)

lydong:我倒从没有发现有乱码现象,无论是在纯DOS下还是在DOS窗口下都没有。


[此贴子已经被作者于2003-4-9 6:12:58编辑过]





Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-2-21 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 22 楼』:  

谢谢Wengier,你的FINDCD现在很好用了,而且没有乱码了。



欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-2-21 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
pfox
银牌会员




积分 1451
发帖 446
注册 2002-10-20
状态 离线
『第 23 楼』:  

呵呵,Wengier,在目前的findcd已经非常完善,但我还想再提一个,就是你既然用CDROM来存储Cdrom的个数,那么为什么不在无光驱的情况下直接把CDROM置为0?这样就可以不使用ERRORLEVEL来判断是否有光驱存在,而可以直接判断CDROM是否等于0来检测是否有光驱?不好意思!




我的下载空间
2003-2-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 24 楼』:  

其实是这样的,如果光驱不存在,那么FINDCD在将ERRORLEVEL的值设为1的同时,将不会设置CDROM变量,因此,要判断是否有光驱其实很简单,即只需运行FINDCD后检查CDROM变量是否存在即可,例如:

FINDCD
IF %CDROM%#==# ECHO No CDROM!

或者,使用FINDCD 0的格式,若光驱不存在,CDROM变量的值将为0。

不过,如果您是指在无光驱的情况下运行FINDCD /S后CDROM变量的值应为0,那倒是个好主意。请问您是不是这个意思?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-2-22 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
pfox
银牌会员




积分 1451
发帖 446
注册 2002-10-20
状态 离线
『第 25 楼』:  

就是这个意思。:)




我的下载空间
2003-2-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 26 楼』:  

没错了,下载地址:
打开附件    链接已失效(管理员注 2009-4-28)

另外,我做的最新版的MS-DOS 7.10启动盘中已经包含此FINDCD了,下载地址:
http://newdos.yginfo.net/dosware/mdos71bd.zip



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-2-24 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 27 楼』:  

Wengier :
     我装了双光驱,我想在AUTOEXEC.BAT执行时显示第一个光驱盘符,但执行了FINDCD后显示的CDROM1却为最后一个光驱盘符.显示如下:

I:\>findcd /s
CDROM=2
CDROM1=L:
CDROM2=K:

I:\>

如果是在光驱数量不定的情况下判断第一个光驱盘符就有点困难了,除非是判断最后的光驱盘符.
但我觉得还是按顺序好一点,所以希望您能再改一下您的程序.






欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-4-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 28 楼』:  

如果是同一个光驱设备名(例如MSCD001)的话,顺序确实会反过来了,我去看看.不过如果是多个光驱设备名的话,则是按顺序来的.



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-4-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
lydong
元老会员




积分 1468
发帖 407
注册 2002-10-21
来自 广州
状态 离线
『第 29 楼』:  

能改过来吗?



欢迎大家观临我的个人主页:

      http://dosdiy.bluepc.com.cn/
      http://dosdiy.ys168.com/


EMAIL: lydong@china.com.cn    lydong@yeah.net
----------------------------------------------
2003-4-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (89677127)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 30 楼』:  

我重新去看了一下FINDCD源程序,可惜一是那些汇编代码改起来非常复杂(且INT2F中断的150D号功能返回的光驱盘符列表似乎本身就不完全是正顺序),二是我现在没有同一设备名的双光驱去测试(因为对于不同设备名的双光驱则是按顺序来的),没办法了~~

[此贴子已经被作者于2003-4-8 7:12:05编辑过]






Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-4-8 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: