循环有问题

时间:2013-10-27 15:37:01

标签: loops batch-file for-loop

这是一个批处理文件(在Windows 7中)。 我尝试了一些组合和更改,但确切的输出没有实现。请查看以下内容。

  setlocal enableDelayedExpansion

   set c=

   for %i in (1 2 3 4) do (
     set b=%c% %i,2013/
     call echo %b%
     set c=%b%
   )

我想要输出如下:

1,2013/

1,2013/2,2013/

1,2013/2,2013/3,2013/

1,2013/2,2013/3,2013/4,2013/

但它会如下所示。

C:\ Users \ Ashutosh PC> setlocal enableDelayedExpansion

C:\ Users \ Ashutosh PC>设置c =

C:\ Users \ Ashutosh PC> for for i in(1 2 3 4)do( 更多?设b =%c %% i,2013 / 更多?呼叫回声%b% 更多?设定c =%b% 更多? 更多? )

C:\ Users \ Ashutosh PC>( 设b =%c%1,2013 /  呼叫回声%b%  设定c =%b% ) %c%1,2013 /

C:\ Users \ Ashutosh PC>( 设b =%c%2,2013 /  呼叫回声%b%  设定c =%b% ) %c%2,2013 /

C:\ Users \ Ashutosh PC>( 设b =%c%3,2013 /  呼叫回声%b%  设定c =%b% ) %c%3,2013 /

C:\ Users \ Ashutosh PC>( 设b =%c%4,2013 /  呼叫回声%b%  设定c =%b% ) %c%4,2013 /

C:\ Users \ Ashutosh PC>

1 个答案:

答案 0 :(得分:2)

  @echo off
  setlocal enableDelayedExpansion

   set "c="

   for %%i in (1 2 3 4) do (
     set b=!c! %%i,2013/
     call echo !b!
     set c=!b!
   )
   endlocal

http://www.robvanderwoude.com/variableexpansion.php