rem 以下确定光驱盘符,后面可以直接用%cdrom%代表光驱
for %%i in (Z Y W V U T S R Q P O N M L K J I H G F E D C) do ( if exist %%i:\nul (for /f "tokens=3" %
%j in ('dir /-c %%i:\') do set freesize=%%j
set l=%%i
if not "!freesize!"=="0" goto last_drive
)
)
goto :eof
:last_drive
set cdrom=%l:~0,1%
rem 光驱判断结束作者: huangwenjia 时间: 2008-2-28 11:05
nul 好像是回显设备,作用跟显示器一样,只是这个设置其实是不回显的,也就是将过程和结果都不显示,隐藏起来。不过在这里,我就不敢确定了,因为这个批处理我看不懂,只知道是用是FOR循环和IF语句作判断。作者: icevan 时间: 2008-2-28 20:33
nul是Dos中的一个设备文件名 表示空设备
在批处理当中一般是用来让命令的结果不出现在屏幕上.比如dir>nul
set file=GHO\a.gho
for %%c IN (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) DO (
IF EXIST %%c:\%FILE% set cdrom=%%c:
IF EXIST %%c:\%FILE% goto end
)
:end
if *%cdrom%*==** echo NO CDROM
if NOT *%cdrom%*==** ECHO CDROM IS %CDROM%