中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]请问如何显示最后一个盘符?
作者:
标题: [已解决]请问如何显示最后一个盘符? 上一主题 | 下一主题
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『楼 主』:  [已解决]请问如何显示最后一个盘符?

我在经典代码里找到一个显示软盘硬盘光驱移动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 ]

2007-12-16 09:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 2 楼』:  

发贴后搜索了一下,虽不是以上代码的方式,但总算目的达到了:
@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 ]

2007-12-16 11:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: