标题: [系统相关] 批处理怎样得到第一块硬盘的最后分区盘符? [打印本页]
作者: ttj36 时间: 2008-8-8 13:10 标题: 批处理怎样得到第一块硬盘的最后分区盘符?
是不是很难实现,能不能用批处得到
作者: pusofalse 时间: 2008-8-8 14:25
- @echo off
- for /f "delims=驱动器:\" %%a in ('fsutil fsinfo drives^|more') do @fsutil fsinfo drivetype %%a:\|findstr "固定驱动器">nul&&set finaldrive=%%a:\
- echo %finaldrive%
复制代码
只是一个磁盘的情况。wmic应该能获取有多少磁盘,但不熟悉。
作者: ttj36 时间: 2008-8-8 15:37
不行了,版主,这个获得的是全部硬盘,不是第一块硬盘,
我主要是来分移动硬盘用的,上面这P处,获得的的我移动硬盘,
作者: pusofalse 时间: 2008-8-8 16:40
不是矛盾的的吗。第一块硬盘和第一个硬盘分区概念不同。
我上面的代码获取的是固定磁盘的最后一个分区,而不是全部硬盘。
区分移动硬盘,用下面代码。
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype='3'" get deviceid') do echo 固定磁盘是%%a
drivetype=3
其中3是固定磁盘,5是光驱,移动硬盘是忘记是什么了,试下1或2或4.
作者: ttj36 时间: 2008-8-8 17:20
我的移动硬盘插上后,显示在 固定磁盘区里的,也可以这么我我有2个固定磁盘想得到,第一个固定磁盘的最后分区
[ 本帖最后由 ttj36 于 2008-8-8 17:22 编辑 ]
作者: Batcher 时间: 2008-8-9 01:43
DriveType 2 ,可移动磁盘
3 ,本地固定磁盘
5 ,CD-ROM
作者: fastslz 时间: 2008-8-9 13:40
如果是USB移动硬盘的话也是DriveType 3(本地固定磁盘),这个情况下无法正确获取最后分区盘符。
作者: fastslz 时间: 2008-8-9 15:09
- @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
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |