|
这是我做的 光盘查找批处理。
@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= |
|