2
@echo off
setlocal enableDelayedExpansion

set /a "counter=0"
set "cycle7zForw=273 256 192 128 96 64 48 32 24 16 12 8"

for /l %%N in (1 1 12) do (
  set /a "counter+=1"
  call :therest
)
set cycle
pause
exit

:therest
for /f "tokens=%counter%" %%i in ("%cycle7zForw%") do set cycle7zForw%%N=%%i
exit /b

cycle7zForw内部の値の数をカウントする変数を設定してから入れるにはどうすればよいですかfor /l %%N in (1 1 %variable%) do (

私の例では 12 を数えますが、 内に任意の数の値が存在する可能性があるため、手動で 12 を書きたくありませんcycle7zForw

4

1 に答える 1

3

別のアプローチで解決できます。

これにより、スペースが改行に置き換えられます。
次に、単一の FOR /F がすべての数値をループします。

@echo off
setlocal enableDelayedExpansion

set /a "counter=0"
set "cycle7zForw=273 256 192 128 96 64 48 32 24 16 12 8"
set temp=!cycle7zForw: =^

!

for /f "delims=" %%i in ("!temp!") do (
    set /a counter+=1
    set cycle!counter!=%%i
)
set cycle
于 2013-11-02T18:41:52.853 に答える