中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 22:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]请问如何显示最后一个盘符? 查看 617 回复 1
楼 主 [已解决]请问如何显示最后一个盘符? 发表于 2007-12-16 09:42 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
我在经典代码里找到一个显示软盘硬盘光驱移动U盘的代码:

setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=\" %%a in ('fsutil fsinfo drives^|find /v ""') do (
set aa=%%a
set aa=!aa:~-2!
for %%i in (!aa!) do fsutil fsinfo drivetype %%i
)


我的问题:如何将显示的结果由最后的盘符开始显示?

我的用意:将显示结果再经findstr命令找出U盘的盘符及硬盘的最后分区

我的目的:在有插入U盘的情况下如何获得U盘的盘符?当没插U盘的情况下如何获得硬盘的最后盘符?

[ Last edited by chishingchan on 2007-12-16 at 11:30 AM ]
2 发表于 2007-12-16 11:25 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
发贴后搜索了一下,虽不是以上代码的方式,但总算目的达到了:

@echo off
for /f %%i in ('"wmic logicaldisk where DriveType="2" get DeviceID |find /v "DeviceID""') do set lastdrive=%%i
if "%lastdrive%"=="A:" for /f %%i in ('"wmic logicaldisk where Description="本地固定磁盘" get DeviceID |find /v "DeviceID""') do set lastdrive=%%i
echo %lastdrive%
pause


说明:当插入U盘的时候显示U盘符,当没有U盘的时候显示硬盘最后一个分区盘符

[ Last edited by chishingchan on 2007-12-16 at 11:28 AM ]
论坛跳转: