2013-11-26 115 views
6

您好,我得到了HDD的尺寸如下:批處理文件中設置WMI輸出有我的批處理腳本第一次去一個變量

wmic diskdrive get size 

,工作正常,但我想存儲將此值轉換爲供以後使用的變量,例如使用ECHO顯示值。

我不知道如何將上述命令的輸出設置爲變量。我去了:

SET hddbytes=wmic diskdrive get size 

但是,這只是將變量設置爲上述文本字符串,而不是輸出。

+0

我認爲所有這些解決方案將使列表中只有一個驅動器 - 我的驅動器列出了一些。順便說一句,這是'批處理'腳本,而不是'BASH' – foxidrive

+0

@foxidrive當然是的:)我主要是反對不是Windows的人只是有BASH的頭腦,感謝指出 – twigg

回答

9

用於批處理文件。在命令行,用%

for /f "tokens=*" %%f in ('wmic diskdrive get size /value ^| find "="') do set "%%f" 
echo %size% 

替換%%或者,如果你想使用你變者優先

for /f "tokens=2 delims==" %%f in ('wmic diskdrive get size /value ^| find "="') do set "myVar=%%f" 
echo %myVar% 
+0

+ 1.Would更喜歡Textvaluelist格式因此'set'可以直接使用。 – npocmaka

+0

@npocmaka:我不明白。那麼,我做了什麼? –

+0

您可以直接使用'「delims =」'和'set %% f',但這只是我使用wmic時更喜歡設置值的方式 – npocmaka

0
for /f "delims=" %%w in ('wmic diskdrive get size /format:Textvaluelist.xsl') do for /f "usebackq delims=" %%a in ('%%w') do set %%a 
echo %size% 
2

你想:

for /f %%a in ('wmic diskdrive get size^|findstr [0-9]') do echo %%a 
相關問題