这可能是简短而甜蜜的,但我只是在检查。
批处理for
命令可以增加步进值吗?
@echo off
SetLocal EnableDelayedExpansion
set xyz=200
for /l %%n in (100,%xyz%,26000) do (
set /a value_=!value_!+1
set x=%%n
set value_!value_!=!x!
echo value_!value_!=!x!
)
echo.
echo variable 'value_5' = !value_5!
echo.
pause
运行上面的代码几乎可以满足我的需要(针对每个更高的变量依次生成更高的值)。唯一的区别是我需要每个循环将步长值增加两倍。+200 第一圈,+400 第二圈,+800 第三圈等。
目前,每个循环有 200 个,输出为:
value_1=100
value_2=300
value_3=500
value_4=700
value_5=900
value_6=1100
value_7=1300
...
...
variable 'value_5' = 900
每次递增 200 (xyz)。我真的需要每次在前一个值上加倍步长。在 for 语句内部或外部添加计算不会更改输出。
所以输出将显示为:
value_1=100
value_2=300
value_3=700
value_4=1500
value_5=3100
value_6=6300
value_7=12700
value_8=25500
variable 'value_5' = 3100
我希望这是有道理的。如果不可能,是否有另一种快速的方法来做到这一点,或者我会有很多
set value_1=100
set value_2=300
...
...
set value_98=xxx
set value_99=xxx
线条占用大量空间。那我必须计算每一行。