Board logo

标题: [求助]求一P处得到第一块硬盘的最后分区盘符(解决) [打印本页]

作者: ttj36     时间: 2008-8-7 10:05    标题: [求助]求一P处得到第一块硬盘的最后分区盘符(解决)

本人菜鸟,哪个高手知道不,谢谢了
是第一块硬盘的,不是全部硬盘,
是不是很难实现,高手们,来帮帮我呀,
我有2个硬盘想得到,第一块硬盘的最后分区


     方法见20楼,在次感谢,

[ Last edited by ttj36 on 2008-8-10 at 04:38 PM ]
作者: huahua0919     时间: 2008-8-7 14:00
你运行
wmic logicaldisk get MediaType
看看有几个不同的数字
作者: ttj36     时间: 2008-8-7 14:14
啥意思,
作者: huahua0919     时间: 2008-8-7 14:15
你在命令行下运行一下看看,我这边只有一个硬盘,不知道这个是不是硬盘的唯一标矢。
作者: ttj36     时间: 2008-8-7 14:19
都是12,,我4个分区,有4个12。插上移动硬会,7个,因为我移动盘,3个分区,
也就是说我要得到除移动硬盘外的最后一个分区盘符,

[ Last edited by ttj36 on 2008-8-7 at 02:21 PM ]
作者: huahua0919     时间: 2008-8-7 14:21
你是不是要区分固定磁盘和移动磁盘啊???
作者: ttj36     时间: 2008-8-7 14:23
可以这么说吧,得到除移动硬盘外的最后一个分区盘符
作者: huahua0919     时间: 2008-8-7 14:39
晕啊,早说啊
@echo off
for /f "delims=:" %%i in ('wmic logicaldisk get caption^,drivetype^|findstr "3"') do set last=%%i
echo The last drive is:%last%盘
pause

作者: ttj36     时间: 2008-8-7 14:39
哈哈,谢谢了,我试试,
作者: ttj36     时间: 2008-8-7 14:41
老大不行呀,我移动硬盘插上,最后一个盘为,移动硬盘了
老大我说的是移动硬盘,不是U盘,

[ Last edited by ttj36 on 2008-8-7 at 02:44 PM ]
作者: huahua0919     时间: 2008-8-7 14:54

@echo off
for /f "tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,DriveType^,VolumeDirty^,Description /format:csv^|findstr/v /i "2 TRUE"') do (set last=%%i)
echo The last drivedisk is:%last% 盘
pause

作者: ttj36     时间: 2008-8-7 15:07
还是不对,变成DEVICEID盘了,
作者: huahua0919     时间: 2008-8-7 15:20

@echo off
for /f "skip=1 delims=:" %%i in ('WMIC Path Win32_LogicalDisk Get

DeviceID^,DriveType^,VolumeDirty^|findstr/v /i "2 TRUE"') do set last=%%i
echo %last%
pause

作者: ttj36     时间: 2008-8-7 15:24
还是移动硬盘的,不行,不过还是要谢谢你,
作者: ttj36     时间: 2008-8-7 20:50
还有没有知道了,
作者: HAT     时间: 2008-8-7 22:48

@echo off
for /f %%a in ('"wmic logicaldisk where DriveType="3" get DeviceID |find /v "DeviceID""') do set lastdrive=%%a
echo CMD 下最后分区盘符是 %lastdrive%

作者: ttj36     时间: 2008-8-8 08:37
楼上的这个批处还是不对,不是第一个硬盘的,插上移动硬盘后,显示的最后一个盘是移动硬盘的,
作者: jh1688     时间: 2008-8-9 12:03
我不知道你要得到第一硬盘的最后一个分区有什么用处,不说明白,别人也不好帮你,猜测你可能是要用来做GHOST备份派用处,这样你可以在纯DOS下调用第三方软件来准确得到第一硬盘的最后分区。

minito   strings   lmod  三个小东东会帮且你实现目标!!!
作者: ttj36     时间: 2008-8-9 16:18
,太谢谢了,我找找看,能不能找到,
我是想在我的移动硬盘上运行一个P处,不过,按找,固定磁盘的方去,找到的是我的移动硬盘,因我的移动硬盘,插上后是在固定磁盘分区上显示的,
不知道,怎么调过的,现在去找找看,

[ Last edited by ttj36 on 2008-8-9 at 04:23 PM ]
作者: fastslz     时间: 2008-8-9 21:12
如果是USB移动硬盘的话也是DriveType 3(本地固定磁盘),这个情况下Wmic LogicalDisk是无法正确获取最后分区盘符。
@echo off
for /f "tokens=3 delims==" %%i in ('Wmic Path Win32_LogicalDiskToPartition^|find /i "Disk #0"') do call :xxx %%i
echo.
echo 第一块硬盘第一个分区是%A%
echo 第一块硬盘最后一个分区是%B%
pause&exit

:xxx
        echo %~1
        if not defined A set A=%~1
        set B=%~1

作者: ttj36     时间: 2008-8-10 09:11
太谢谢了,高人,
作者: bd123456789     时间: 2008-11-13 13:48


  Quote:
Originally posted by fastslz at 2008-8-9 09:12 PM:
如果是USB移动硬盘的话也是DriveType 3(本地固定磁盘),这个情况下Wmic LogicalDisk是无法正确获取最后分区盘符。

[code]@echo off
for /f "tokens=3 delims= ...

我插上移动硬盘,测试是正确的嘛!即正确获取最后分区盘符..