0

它是一个批处理文件(在 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 %i in (1 2 3 4) do ( More? set b=%c% %i,2013/ More? call echo %b% More? set c= %b% More?更多的? )

C:\Users\Ashutosh PC>( set b=%c% 1,2013/ call echo %b% set c= %b% ) %c% 1,2013/

C:\Users\Ashutosh PC>( set b=%c% 2,2013/ call echo %b% set c= %b% ) %c% 2,2013/

C:\Users\Ashutosh PC>( set b=%c% 3,2013/ call echo %b% set c= %b% ) %c% 3,2013/

C:\Users\Ashutosh PC>( set b=%c% 4,2013/ call echo %b% set c= %b% ) %c% 4,2013/

C:\用户\Ashutosh PC>

4

1 回答 1

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

于 2013-10-27T16:18:12.067 回答