中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 13:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何在特定条件下获得最后硬盘盘符? 查看 818 回复 4
楼 主 [已结]如何在特定条件下获得最后硬盘盘符? 发表于 2008-11-25 05:11 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
因制作虚拟软盘,如何获得CMD环境下硬盘(只有一个)分区的最后盘符。

要求:

1、无需过渡文件;
2、只使用XP自带的内外部(WMIC 除外)

注:不使用第三方软件

谢谢!

[ Last edited by HAT on 2008-11-25 at 22:59 ]
2 发表于 2008-11-25 06:46 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线

Dim Fso,Fd
Dim F_list
set Fso=createobject("scripting.filesystemobject")
set Fd=Fso.drives
for each d in Fd
if d.isready and d.drivetype=2 then
F_list=d.driveletter
end if
next
msgbox "The Last Drive is:"& F_list

发个VBS,其实方法不少,也可以用fsutil fsinfo drive来判断
3 发表于 2008-11-25 10:05 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr /i "Drive"') do set LastDri=%%h
)
echo %LastDri%
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
chishingchan +5 2008-11-25 22:39
4 发表于 2008-11-25 22:45 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
总结:

@echo off
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr /i "固定驱动器"') do set LastDrive=%%h)
echo %LastDrive%
pause


[ Last edited by chishingchan on 2008-11-25 at 22:54 ]
5 Re 4楼 发表于 2008-11-25 22:58 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
是的,我用的英文系统。为了兼容中英文系统,可以这样:
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr /i "Fixed 固定驱动器"') do set LastDri=%%h
)
echo %LastDri%
pause
论坛跳转: