繁体   English   中英

Windows Batch:为FOR循环设置变量,WMIC diskdrive获取大小

[英]Windows Batch: Set variables for FOR loop, WMIC diskdrive get size

下面提到的批处理文件显示PC的硬盘大小,但如果PC中安装了多于1个硬盘,那么如何设置变量呢? 怎么做?

set _hdd=
For /F "Skip=1 Delims=" %%A In (
    '"WMIC diskdrive Where (MediaType="Fixed hard disk media") Get Size"'  
) Do For /F "Tokens=1-2" %%B In ("%%A") Do set _hdd=%%B
Echo %_hh%
pause
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
set cnt=0
For /F "Skip=1 Delims=" %%A In (
    '"WMIC diskdrive Where (MediaType="Fixed hard disk media") Get Size"'  
) Do For /F "Tokens=1-2" %%B In ("%%A") Do (
  Set /A cnt+=1
  set _hdd[!cnt!]=%%B
)
Set _hdd[
pause

样本输出:

> Q:\Test\2017-03\01\SO_42530497.cmd
_hdd[1]=2000396321280
_hdd[2]=256052966400

与我的上一个答案和已经提供的答案类似:

@Echo Off
For /F "Skip=1 Delims=" %%A In (
    '"WMIC DiskDrive Where (MediaType Like 'Fixed%%') Get Index, Size"'
) Do For /F "Tokens=1-2" %%B In ("%%A") Do Set "HD%%B=%%C"
Set HD
Timeout -1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM