web-dev-qa-db-ja.com

Windowsバッチスクリプトの変数に格納されている数値を追加する

バッチスクリプトにループがあり、ループカウンターを使用していくつかの演算を実行したいと思います。式を評価する方法、ここに数値を追加する方法を見つけました: Windowsバッチスクリプトで式を評価する

同じように変数を使用するにはどうすればよいですか?

例えば:

set x = 100
for /L %%i in (1,1,5) do (
    set Result=0
    set /a Result = %%i+%%x
    echo %Result%
)

出力として私は期待します

101102103104105

ありがとう!

3
raoulsson

あなたは本当にバッチファイルから離れるべきです。

@echo off

setlocal enabledelayedexpansion

set x=100
set result=0

for /L %%i in (1,1,5) do (

  set /A result=!x! + %%i

  echo !result!
)

endlocal
5
Izzy

各ステップで結果をゼロにリセットしています。ループの前に移動します。また、help set at cmdこれらすべての詳細についてはプロンプトが表示されます。特に、遅延環境変数の拡張に関するセクションを見てください。