无忧启动论坛
标题:
对扩展光驱的一点疑惑
[打印本页]
作者:
yjfok961
时间:
2008-6-30 09:55
标题:
对扩展光驱的一点疑惑
看了很多的素材,里面在寻找光驱时,运用了FINDCD和CDA,然后又有26个字母一个个去试盘符
但我觉得好像没什么必要,FINDCD后就可知你光驱的盘符,而且会自动赋给%cdrom%
如果是findcd /s 的话,也是直接赋给%CDROM1%,这样盘符就可以直接用变量了,没必再去字母偿试啊。还有那个CDA也感觉没什么用,用来确定的?那就是信不过FINDCD了
作者:
lianjiang
时间:
2008-6-30 10:39
多个光驱的话,你怎么知道盘子就在第一光驱中?呵呵。
作者:
yjfok961
时间:
2008-6-30 11:51
那CDA作用是检测有盘的光驱,并把变量传给cdrom?
作者:
紫狐
时间:
2008-7-1 15:24
CDA就是用来检测光驱里面是否有光盘的。
作者:
dos时代菜鸟
时间:
2008-7-2 13:57
这是我做的 光盘查找批处理。
@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=
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3