Board logo

标题: [已结]如何在特定条件下获得最后硬盘盘符? [打印本页]

作者: chishingchan     时间: 2008-11-25 05:11    标题: [已结]如何在特定条件下获得最后硬盘盘符?
因制作虚拟软盘,如何获得CMD环境下硬盘(只有一个)分区的最后盘符。 要求: 1、无需过渡文件; 2、只使用XP自带的内外部(WMIC 除外) 注:不使用第三方软件 谢谢! [ Last edited by HAT on 2008-11-25 at 22:59 ]

作者: huahua0919     时间: 2008-11-25 06:46
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来判断

作者: HAT     时间: 2008-11-25 10:05
@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

作者: chishingchan     时间: 2008-11-25 22:45
总结:
@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 ]

作者: HAT     时间: 2008-11-25 22:58    标题: Re 4楼
是的,我用的英文系统。为了兼容中英文系统,可以这样:
@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