如何将变量设置为另一个变量的值的总计数?

时间:2013-11-02 18:32:44

标签: batch-file

@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中可能有任意数量的值。

1 个答案:

答案 0 :(得分: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