中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 23:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [在线求助]判断磁盘类型是否是光驱并写入变量
楼 主 [在线求助]判断磁盘类型是否是光驱并写入变量 发表于 2006-12-15 03:33 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
UID 62249
状态 离线
我使用下面的语句来判断是否是光驱,却返回的不正确,代码该怎样写:
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 发表于 2006-12-15 03:48 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
UID 62249
状态 离线
怎么还没有人来回答呀。
3 发表于 2006-12-15 04:16 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
我们没有必须回答的义务

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
4 发表于 2006-12-15 06:34 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
UID 63387
状态 离线
@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
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HUNRYBECKY +2 2006-12-15 07:43
5 发表于 2006-12-15 06:53 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
ERRORLEVEL返回值正确用法:
if ERRORLEVEL 3 ...
if ERRORLEVEL 2 ...
if ERRORLEVEL 1 ...
从大到小
或者:
if %ERRORLEVEL% == 1
if %ERRORLEVEL% == 2
if %ERRORLEVEL% == 3
不用按顺序
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HUNRYBECKY +2 2006-12-15 07:44
6 发表于 2006-12-15 07:30 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
UID 62249
状态 离线
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 发表于 2006-12-15 07:45 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
UID 62249
状态 离线
为感谢两位每人给2分,不要嫌弃少,对你们的热心表示一下。 :-)
8 发表于 2006-12-15 07:58 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
UID 63387
状态 离线
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,你不改再试一下吧,还是像原来一样出错的话,把出错的地方贴出来我想看一下.
论坛跳转: