【发布时间】:2013-03-19 16:48:47
【问题描述】:
这可能很简短,但我只是在检查。
批处理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
行占用大量空间。那我必须计算每一行。
【问题讨论】:
标签: batch-file batch-processing