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 回答