バッチファイルでProject Euler(4)

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 %13より大きい
) else (
    echo %13以下
)

GTRで大きいかどうかを判定します。比較演算子一覧はif /?で表示されます。
elseは上のように書いてください。

)
else (

などではエラーになります。