forコマンド
この問題は和の公式を使ってもいいのですが、使わないのがふつうの解き方のようです。さいわいforコマンドがあるので、それで回すことができます。forにはいろいろパターンがありますが、/Lを指定すると変数を変化させることができます。
@echo off for /L %%i in (1, 1, 3) do ( echo %%i )
1 2 3
%%iを1から1刻みで3まで変化させます。変数の参照の方法が通常と違うので注意しましょう。この変数はforコマンド内のみで有効です。
1 + 2 + 3 + 4は次のように書けます。
@echo off set /a s = 0 for /L %%i in (1, 1, 4) do ( set /a s += %%i ) echo %s%
10
ifコマンド
条件分岐もできます。
@echo off if %1 == 3 ( echo %1 )
%1はバッチファイルの引数で、これが3と等しければ出力するというものです。
elseも使えます。
@echo off if %1 GTR 3 ( echo %1は3より大きい ) else ( echo %1は3以下 )
GTRで大きいかどうかを判定します。比較演算子一覧はif /?で表示されます。
elseは上のように書いてください。
) else (
などではエラーになります。