无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2680|回复: 4
打印 上一主题 下一主题

对扩展光驱的一点疑惑

[复制链接]
跳转到指定楼层
1#
发表于 2008-6-30 09:55:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了很多的素材,里面在寻找光驱时,运用了FINDCD和CDA,然后又有26个字母一个个去试盘符
但我觉得好像没什么必要,FINDCD后就可知你光驱的盘符,而且会自动赋给%cdrom%
如果是findcd /s 的话,也是直接赋给%CDROM1%,这样盘符就可以直接用变量了,没必再去字母偿试啊。还有那个CDA也感觉没什么用,用来确定的?那就是信不过FINDCD了
2#
发表于 2008-6-30 10:39:28 | 只看该作者
多个光驱的话,你怎么知道盘子就在第一光驱中?呵呵。
回复

使用道具 举报

3#
 楼主| 发表于 2008-6-30 11:51:30 | 只看该作者
那CDA作用是检测有盘的光驱,并把变量传给cdrom?
回复

使用道具 举报

4#
发表于 2008-7-1 15:24:53 | 只看该作者
CDA就是用来检测光驱里面是否有光盘的。
回复

使用道具 举报

5#
发表于 2008-7-2 13:57:02 | 只看该作者
这是我做的 光盘查找批处理。
@echo off
rem 涉及第三方软件 findcd / aset / dready
rem 段名  功能
rem top:  获得光驱总个数并+1后赋值给变量n,如果光驱个数为0就进入 nocd 段
rem loop: 对每一个光驱的状态进行循环判断,如果ready就进入 ok? 段
rem ok?:  判断准备好的光驱中是否为dostools光盘,如果不是就继续 loop
rem       如果是就进入 ok
rem ok:   显示 dostools 光驱盘符
rem nocd: 显示没有符合条件的光盘
rem end:  善后,清理内存变量

rem 注:由于findcd n 这个指令每运行一次就会在变量列表中多出一个cdrom所以
rem  需要用到shell级别的set程序及时清理变量,这里使用aset1.4,同时用到aset
rem  的计算功能.由于aset没有设备状态测试功能,只好借助dready帮忙.

:top
aset cdrom=
findcd 0  >nul
if %cdrom%*==0* goto Nocd
aset n :=%cdrom%+1
aset cdrom=

:loop
aset n :=%n%-1 >nul
if %n%*==0* goto NOCD
aset cdrom=
findcd %n% >nul
dready %cdrom%
if errorlevel 255 goto loop
if errorlevel 2 goto loop

:ok?
rem 通过判断光盘是否存在\command\dostools.bat这个文件来确定其是否为特指光盘
if not  exist %cdrom%\command\dostools.bat goto loop

:OK
ECHO CDROM=%CDROM%
GOTO END

:nocd
echo No CD_ROM Or all CD_ROM are not ready!

:end
aset m=
aset n=
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 00:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表