Windows批处理文件中的变量

时间:2013-11-22 11:08:05

标签: loops batch-file

我想在批处理文件中的for循环中传递一个变量:

echo TEST results >MYTest.log
set TEST_1=MYtestA
set TEST_2=MYtestB
FOR /L %%A IN (1,1,2) DO (
 ECHO %%A
 echo  Building ???%TEST%_%%A
 ....
)

Bat我不知道如何在for循环中传递变量TEST_1 TEST_2以获得以下结果:

Building MYtestA
Building MYtestB

谢谢马里亚诺

1 个答案:

答案 0 :(得分:2)

您需要延迟扩展变量。然后,使用您的for变量来组成要检索的变量的名称,并使用具有该名称的延迟扩展来获取变量的内容。

setlocal enableextensions enabledelayedexpansion

set TEST_1=MYtest1
set TEST_2=MYtest2

FOR /L %%A IN (1,1,2) DO (
 ECHO %%A
 echo  Building !TEST_%%A!

)