中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 02:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 讨论:在没有管理员权限的情况下获取光盘盘符 查看 956 回复 5
楼 主 讨论:在没有管理员权限的情况下获取光盘盘符 发表于 2008-06-05 01:31 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
前几天帮一会员答题时,他的要求是不用fsutil 命令,
判断光驱盘符,且不止一个光驱,并不确定里面有没有盘。
还真是费了点脑筋,最后发现 vol 可以分别取到不同的值,在我的电脑上测试通过,
不知各位还有没有更好的方法呢,。。。

@echo off
set "p=c d e f g h i j k l m n o p q r s t u v w x y z"
for %%i in (%p%) do (
for /f "tokens=1-4 delims= " %%a in ('vol %%i: 2^>^&1') do (
if "%%a"=="设备未就绪。" call set g=%%g%% %%i
if "%%d"=="我的光盘" call set g=%%g%% %%i
))
echo 光驱盘符是 %g%
pause


───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字
说明:原标题"讨论:不用 fsutil 命令获取光盘盘符"不利于论坛搜索
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-11-10 at 12:27 ]
致精致简!
2 发表于 2008-06-07 22:14 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
试了一下。。。的确可以,效率有点问题。 可能原因是没有判断分区是否存在 而填上一句if exist %%i:\ 就会出错了,结果没检测出来。。。。
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
3 发表于 2008-06-08 20:56 ·  中国 江苏 苏州 电信
高级用户
★★
五星老土
积分 558
发帖 172
注册 2003-02-09 00:00
23年会员
UID 881
性别 男
来自 江苏
状态 离线
vol 数值似乎是随机的啊,难道光驱和其他盘的VOL 明显不同?

说说原理啊,谢谢。
我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
4 发表于 2008-06-08 21:28 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
设备未就绪的差不多可以算作光驱...

还有一种判断方法就是Dir 可用字节0 不能写入文件等..
5 发表于 2008-06-08 23:41 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
用wmic获取光驱盘符是否会效率高些呢?

@echo off
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='5'" get * /value ^| findstr /i "^DeviceID"') do echo 光驱盘符:%%a
6 发表于 2008-06-08 23:45 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
怪我没说清楚,应该是在没有管理员权限的情况下。
致精致简!
论坛跳转: