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>set 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:\Users\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 に答える