如何将命令的输出分配给环境变量?

时间:2015-03-23 13:00:28

标签: batch-file

我想将命令运行的值分配给环境变量。 谷歌的结果给了我这个:

for /f "delims=" %%a in ('command') do set Value=%%a

我尝试了以上方法来打印我需要的特定命令行参数的值:

setlocal EnableDelayedExpansion
set argument_Count=0
set /A RUNCOUNT=1 
for /f "delims=" %%a in ('call echo %%!argument_Count!')     
do set Value=%%a
echo %Value%

但它似乎不起作用。它是打印位置而不是参数值。

如何获取参数值并设置变量?

1 个答案:

答案 0 :(得分:0)

在另一个帖子中找到答案。将命令的返回值写入临时文件然后读取它。

set REPORTfilename=%TEMP%/%random%.txt
call echo %%!argument_Count! >%REPORTfilename%
set /p REPORT=<%REPORTfilename% 
echo " REPORT " %REPORT%