批处理获取返回值(将执行结果赋值变量)

set p=1+1
echo %p%
1+1表示执行的命令,将执行结果返回给变量

我尝试过exec、system等都不行,求助用什么命令,只要能让上面返回出的结果是2就是成功的
-----------------------------------------------------------------------------------------
我要执行的命令是wmic LogicalDisk where "DeviceID='F:'" get Size /value
@echo off
for /f "delims=" %%a in ('wmic LogicalDisk where "DeviceID='F:'" get Size

/value') do (
set "a=%%a"
call echo %%a%%
)
rem 需要将变量取出来做判断用的
pause
===================================
可以参照上面代码,我要讲取出来的变量做判断,求助

set 有个/a参数,可以直接进行算式计算的。
set /a p=1+1
得到的就是2追问

set p=wmic LogicalDisk where "DeviceID='F:'" get Size /value
echo %p%
执行这个命令呢,我要获取这个参数进行判断

追答

这句把for改成下面这样:
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DeviceID='F:'" get Size /value') do @set f_size=%%a
这样f_size里直接就是您要的size值了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-09
set /a p=1+1
echo %p%

追问

set p=wmic LogicalDisk where "DeviceID='F:'" get Size /value
echo %p%
执行这个命令呢,我要获取这个参数进行判断

相似回答