[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理怎样得到第一块硬盘的最后分区盘符?

是不是很难实现,能不能用批处得到

  1. @echo off
  2. for /f "delims=驱动器:\" %%a in ('fsutil fsinfo drives^|more') do @fsutil fsinfo drivetype %%a:\|findstr "固定驱动器">nul&&set finaldrive=%%a:\
  3. echo %finaldrive%
复制代码
只是一个磁盘的情况。wmic应该能获取有多少磁盘,但不熟悉。
心绪平和,眼藏静谧。

TOP

不行了,版主,这个获得的是全部硬盘,不是第一块硬盘,
我主要是来分移动硬盘用的,上面这P处,获得的的我移动硬盘,

TOP

不是矛盾的的吗。第一块硬盘和第一个硬盘分区概念不同。
我上面的代码获取的是固定磁盘的最后一个分区,而不是全部硬盘。

区分移动硬盘,用下面代码。
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype='3'" get deviceid') do echo 固定磁盘是%%a
drivetype=3
其中3是固定磁盘,5是光驱,移动硬盘是忘记是什么了,试下1或2或4.
心绪平和,眼藏静谧。

TOP

我的移动硬盘插上后,显示在 固定磁盘区里的,也可以这么我我有2个固定磁盘想得到,第一个固定磁盘的最后分区

[ 本帖最后由 ttj36 于 2008-8-8 17:22 编辑 ]

TOP

DriveType 2 ,可移动磁盘
3 ,本地固定磁盘
5 ,CD-ROM

TOP

如果是USB移动硬盘的话也是DriveType 3(本地固定磁盘),这个情况下无法正确获取最后分区盘符。

TOP

  1. @echo off
  2. for /f "tokens=3 delims==" %%i in ('Wmic Path Win32_LogicalDiskToPartition^|find /i "Disk #0"') do call :xxx %%i
  3. echo.
  4. echo 第一块硬盘第一个分区是%A%
  5. echo 第一块硬盘最后一个分区是%B%
  6. pause&exit
  7. :xxx
  8. echo %~1
  9. if not defined A set A=%~1
  10. set B=%~1
复制代码

TOP

返回列表