中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 17:54
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [在线求助]判断磁盘类型是否是光驱并写入变量
可打印版本  1,176 / 7
第1楼 HUNRYBECKY 发表于 2006-12-15 03:33
银牌会员 发帖 442 积分 1,179
[在线求助]判断磁盘类型是否是光驱并写入变量
我使用下面的语句来判断是否是光驱,却返回的不正确,代码该怎样写:
fsutil fsinfo drivetype %cd:~0,2% |FINDSTR /I "CD-ROM"
IF ERRORLEVEL=0 SET ISGQ=Y
IF ERRORLEVEL=1 SET ISGQ=N
ECHO %ISGQ%
PAUSE
第2楼 HUNRYBECKY 发表于 2006-12-15 03:48
银牌会员 发帖 442 积分 1,179
怎么还没有人来回答呀。
第3楼 electronixtar 发表于 2006-12-15 04:16
铂金会员 发帖 2,672 积分 7,493
我们没有必须回答的义务
第4楼 tianzizhi 发表于 2006-12-15 06:34
高级用户 发帖 214 积分 623
@echo off
set /p cd=请输入盘符:
fsutil fsinfo drivetype %cd:~-10% |FINDSTR /I "CD-ROM"
IF ERRORLEVEL==0 SET ISGQ=Y
IF ERRORLEVEL==1 SET ISGQ=N
ECHO %ISGQ%
PAUSE
第5楼 zh159 发表于 2006-12-15 06:53
金牌会员 发帖 1,467 积分 3,687
ERRORLEVEL返回值正确用法:
if ERRORLEVEL 3 ...
if ERRORLEVEL 2 ...
if ERRORLEVEL 1 ...
从大到小
或者:
if %ERRORLEVEL% == 1
if %ERRORLEVEL% == 2
if %ERRORLEVEL% == 3
不用按顺序
第6楼 HUNRYBECKY 发表于 2006-12-15 07:30
银牌会员 发帖 442 积分 1,179
Originally posted by zh159 at 2006-12-15 06:53:
ERRORLEVEL返回值正确用法:
if ERRORLEVEL 3 ...
if ERRORLEVEL 2 ...
if ERRORLEVEL 1 ...
从大到小
或者:
if %ERRORLEVEL% == 1
if %ERRORLEVEL% == 2
if %ERRORLEVEL% == 3
不用挠...



谢谢两位的回答,原来我错误的运用了ERRORLEVEL,现在明白了。非常感谢二位高手的指点。
第7楼 HUNRYBECKY 发表于 2006-12-15 07:45
银牌会员 发帖 442 积分 1,179
为感谢两位每人给2分,不要嫌弃少,对你们的热心表示一下。 :-)
第8楼 tianzizhi 发表于 2006-12-15 07:58
高级用户 发帖 214 积分 623
HUNRYBECKY,其实你的errorlevel用的是有点问题,但没达到错的地步.
set /p cd=请输入盘符:
fsutil fsinfo drivetype %cd:~0,2% |FINDSTR /I "CD-ROM"
IF ERRORLEVEL=0 SET ISGQ=Y
IF ERRORLEVEL=1 SET ISGQ=N
ECHO %ISGQ%
PAUSE
在我这边没出现错,我的系统为2003,你不改再试一下吧,还是像原来一样出错的话,把出错的地方贴出来我想看一下.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023