|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『楼 主』:
怎么样在dos批处理中得到最后一个盘的盘符?
我想写一个批处理程序,但需要知道最后一个盘的盘符,请问有什么方法或者工具得到最后一个盘的盘符?(都是fat32文件系统)!
|
|
2007-4-13 21:29 |
|
|
bjsh
银牌会员
积分 2000
发帖 621
注册 2007-1-1
状态 离线
|
『第
2 楼』:
如果是为了得到最后一个盘(包括移动硬盘;光盘等等)可以用
Quote: |
- @echo off
- setlocal enabledelayedexpansion
- wmic logicaldisk get name,DriveType | more +1 >>test.txt
- (for /f "tokens=1,2" %%a in (test.txt) do set t=%%b) && echo !t!
- del test.txt
- pause
BJSH发表于: 2007-04-14 09:03 |
|
如果只是为了得到最后一个硬盘
Quote: |
- @echo off
- setlocal enabledelayedexpansion
- wmic logicaldisk get name,DriveType | more +1 >>test.txt
- (for /f "tokens=1,2" %%a in (test.txt) do if "%%a"=="3" set t=%%b) && echo !t!
- del test.txt
- pause
BJSH发表于: 2007-04-14 09:02 |
|
[ Last edited by bjsh on 2007-4-14 at 09:13 AM ]
|
|
2007-4-14 22:08 |
|
|
llztt1
中级用户
积分 214
发帖 94
注册 2007-1-11
状态 离线
|
『第
3 楼』:
为什么不看看人家标题,人家说是DOS批处理...
配合DREAY命令可以循环检测出最后一个可用盘符
|
|
2007-4-14 22:19 |
|
|
bjsh
银牌会员
积分 2000
发帖 621
注册 2007-1-1
状态 离线
|
|
2007-4-14 22:21 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
5 楼』:
Thanks! 等待ing
如果只是为了得到硬盘的最后一个盘符(不包括光盘和移动硬盘),那该怎么样写批处理啊?
|
|
2007-4-15 00:37 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
6 楼』:
DREAY怎么用啊
还有3楼大侠,DREAY怎么样用啊,能说的具体点吗?
|
|
2007-4-15 00:39 |
|
|
cchessbd
高级用户
积分 525
发帖 222
注册 2006-8-28
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by wfyinghun at 2007-4-15 00:39:
还有3楼大侠,DREAY怎么样用啊,能说的具体点吗? |
|
dready [drive:] [/w]
加 /w可检测是否可写。
可根据返回值设置为环境变量。
|
|
2007-4-15 07:30 |
|
|
llztt1
中级用户
积分 214
发帖 94
注册 2007-1-11
状态 离线
|
『第
8 楼』:
配合其他小命令使用,譬如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
具体的实现,相信很容易了,我就不写了
|
|
2007-4-15 08:49 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
9 楼』:
如果是要得到最后一个硬盘的盘符的话,最简单的方法是用BDRV和LMOD工具,如下面这个:
BDRV|LMOD /L* SET DRV=[$1]>LDRV.BAT
LDRV.BAT
BDRV和LMOD可以在MS-DOS 7.1完整版中找到。
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2007-4-15 13:51 |
|
|
cctv8068
初级用户
积分 30
发帖 15
注册 2008-4-21
状态 离线
|
『第
10 楼』:
NTFS 盘在 DOS 下无法被识别呢
|
|
2008-4-21 18:56 |
|
|
jia332
初级用户
积分 160
发帖 81
注册 2006-7-27
状态 离线
|
『第
11 楼』:
DREAY,如drvtypes,这些工具在那里能下载到阿〉?
|
|
2008-4-23 10:42 |
|
|
chishingchan
银牌会员
积分 1282
发帖 538
注册 2002-11-2
状态 离线
|
『第
12 楼』:
原创:
获得除NTFS格式外的最后盘符
@echo off
set num=26
:check
bdrv|nset lastpart=$%num%
count num -
if "%lastpart%"=="" goto check
echo %lastpart%
pause
:end 附件下载:
http://upload.cn-dos.net/img/325.rar
|
|
2008-4-24 05:36 |
|