これは短くて甘いかもしれませんが、チェックしているだけです。
バッチ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
上記のコードを実行すると、必要なことのほとんどが実行されます(順番に、より高い変数ごとにより高い値が生成されます)。唯一の違いは、ステップ値をループごとに 2 倍にする必要があることです。+200 第 1 ループ、+400 第 2 ループ、+800 第 3 ループなど。
現時点では、各ループが 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) ずつ増加します。前の値のたびにステップの増分を 2 倍にする必要があります。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
多くのスペースを占める行。それと私は各行を計算する必要があります。