无忧启动论坛

标题: 批处理获取硬盘容量 [打印本页]

作者: hurry307    时间: 2017-12-29 12:16
标题: 批处理获取硬盘容量
如何实现批处理获取sata0端口硬盘容量,并将该硬盘的赋值给某个变量
作者: nttwqz    时间: 2017-12-29 12:36
能用WMIC否?
作者: plusv    时间: 2017-12-30 02:14
wmic diskdrive get Size/value

作者: hurry307    时间: 2017-12-30 12:23
不能用wmic
作者: plusv    时间: 2017-12-31 07:05
我編程了一個 Delphi EXE.

已測試在

Real OS : Windows 7 X64.
VM OS : Windows XP.

HDInfo.7z (24.59 KB, 下载次数: 8)




作者: nttwqz    时间: 2017-12-31 09:14
其实,fsutil可以获取硬盘容量,不过不知道怎么确定哪个端口
作者: nttwqz    时间: 2017-12-31 20:26
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2,4,5" %%a in ('echo list disk ^| diskpart ^| find "B"') do (
  4.         for /f "tokens=1,2 delims=: " %%d in ('(echo sel disk %%a ^& echo  detail disk^) ^| diskpart ^| findstr /i "类型 路径"') do (
  5.                 if "%%d"=="类型" if /i "%%e"=="SATA" set sata=yes
  6.                 if "!sata!"=="yes" if "%%d"=="路径" if "%%e"=="0" set "disk-0=%%b %%c" && goto end
  7.         )
  8. )

  9. :end
  10. echo SATA 0 硬盘容量:%disk-0%
  11. pause
复制代码


正确与否不得而知,我只有一个硬盘接口。

以上命令简单讲,就是选中各个磁盘查看其信息,看是否符合下面的条件,然后获取容量,不过路径:0到底是不是0口,就不知道了。
类型   : SATA

路径   : 0
作者: hurry307    时间: 2018-1-1 18:17
diskpart可以获取,但不知道怎样把获取的值(0号硬盘,1号硬盘,2号硬盘),传给自己定义的变量diskid
作者: hurry307    时间: 2018-1-1 18:19
我想实现的要判断硬盘端口号是0,1,2
作者: hurry307    时间: 2018-1-1 18:20
我想实现的要判断硬盘端口号是0,1,2中的那个
作者: nttwqz    时间: 2018-1-2 10:06
hurry307 发表于 2018-1-1 18:19
我想实现的要判断硬盘端口号是0,1,2

我的批处理不就是这样写的吗?具体是不是你自己测试。
作者: nttwqz    时间: 2018-1-2 10:15
hurry307 发表于 2018-1-1 18:17
diskpart可以获取,但不知道怎样把获取的值(0号硬盘,1号硬盘,2号硬盘),传给自己定义的变量diskid

那你应该在主帖中写清楚,你的主帖中只说了0

可以改一下,用for获取




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3