中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 06:43
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 怎么样在dos批处理中得到最后一个盘的盘符?
可打印版本  1,189 / 11
第1楼 wfyinghun 发表于 2007-04-13 21:29
初级用户 发帖 53 积分 126
怎么样在dos批处理中得到最后一个盘的盘符?
我想写一个批处理程序,但需要知道最后一个盘的盘符,请问有什么方法或者工具得到最后一个盘的盘符?(都是fat32文件系统)!
第2楼 bjsh 发表于 2007-04-14 22:08
银牌会员 发帖 621 积分 2,000
如果是为了得到最后一个盘(包括移动硬盘;光盘等等)可以用


  1. @echo off
  2. setlocal enabledelayedexpansion
  3. wmic logicaldisk get name,DriveType | more +1 >>test.txt
  4. (for /f "tokens=1,2" %%a in (test.txt) do set t=%%b) && echo !t!
  5. del test.txt
  6. pause
BJSH发表于: 2007-04-14 09:03




如果只是为了得到最后一个硬盘


  1. @echo off
  2. setlocal enabledelayedexpansion
  3. wmic logicaldisk get name,DriveType | more +1 >>test.txt
  4. (for /f "tokens=1,2" %%a in (test.txt) do if "%%a"=="3" set t=%%b) && echo !t!
  5. del test.txt
  6. pause
BJSH发表于: 2007-04-14 09:02


[ Last edited by bjsh on 2007-4-14 at 09:13 AM ]
第3楼 llztt1 发表于 2007-04-14 22:19
中级用户 发帖 94 积分 214
为什么不看看人家标题,人家说是DOS批处理...

配合DREAY命令可以循环检测出最后一个可用盘符
第4楼 bjsh 发表于 2007-04-14 22:21
银牌会员 发帖 621 积分 2,000
确实确实;
呵呵
第5楼 wfyinghun 发表于 2007-04-15 00:37
初级用户 发帖 53 积分 126
Thanks! 等待ing
如果只是为了得到硬盘的最后一个盘符(不包括光盘和移动硬盘),那该怎么样写批处理啊?
第6楼 wfyinghun 发表于 2007-04-15 00:39
初级用户 发帖 53 积分 126
DREAY怎么用啊
还有3楼大侠,DREAY怎么样用啊,能说的具体点吗?
第7楼 cchessbd 发表于 2007-04-15 07:30
高级用户 发帖 222 积分 525
Originally posted by wfyinghun at 2007-4-15 00:39:
还有3楼大侠,DREAY怎么样用啊,能说的具体点吗?


dready

加 /w可检测是否可写。
可根据返回值设置为环境变量。
第8楼 llztt1 发表于 2007-04-15 08:49
中级用户 发帖 94 积分 214
配合其他小命令使用,譬如drvtypes的结果:
A: Removable Drive
B: Removable Drive
C: Fixed Drive
D: Fixed Drive
E: Fixed Drive
F: Fixed Drive
G: Fixed Drive
H: Fixed Drive
I: Fixed Drive
J: Fixed Drive
K: CD/DVD Drive
L: CD/DVD Drive
M: Network Drive
N: Network Drive
O: Network Drive
P: Network Drive
Q: Network Drive
R: Network Drive
S: Network Drive
X: SUBSTed Drive
Z: RAM Drive
批处理可以参考用
drvtypes | find /i "fixed" | find /i "network" >drv.txt
没试验映射的盘符算什么,要不用排除法更好些??
下面就可以使用STRINGS循环检测drv.txt里的盘符,使用
dready %drv% /w |if errorlevel 2 goto nextone

具体的实现,相信很容易了,我就不写了
第9楼 Wengier 发表于 2007-04-15 13:51
系统支持 发帖 10,521 积分 27,736
如果是要得到最后一个硬盘的盘符的话,最简单的方法是用BDRV和LMOD工具,如下面这个:

BDRV|LMOD /L* SET DRV=[$1]>LDRV.BAT
LDRV.BAT

BDRV和LMOD可以在MS-DOS 7.1完整版中找到。
第10楼 cctv8068 发表于 2008-04-21 18:56
初级用户 发帖 15 积分 30
NTFS 盘在 DOS 下无法被识别呢
第11楼 jia332 发表于 2008-04-23 10:42
初级用户 发帖 81 积分 160
DREAY,如drvtypes,这些工具在那里能下载到阿〉?
第12楼 chishingchan 发表于 2008-04-24 05:36
银牌会员 发帖 538 积分 1,284
原创:
获得除NTFS格式外的最后盘符



附件下载:
http://upload.cn-dos.net/img/325.rar
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023