概要

このページは、Windowsのバッチファイルのfor文の/Lについて記述します。
/Lを使用すると数値による繰り返しを実施できます。
for /L %%変数名 in (初期値,増値,終了値) do コマンド名
数値は負の値も使えますが整数である必要があります。

動作環境

以下の環境で動作を確認しました。
Windows 8.1 Enterprise 64bit
Windows 7 EnterPrise Service Pack 1 64bit
Windows XP Professional Service Pack 3 32bit
Windows 2000 Professional Service Pack 4

2重のループを用いて九九を表示する

for /Lを二重に使って九九を表示させます。表示行数が多くなるので1~4までに限定しています。
掛け算はset /aで行っています。
ループのつど正常に計算結果が参照できるように遅延展開を使用するためにsetlocal ENABLEDELAYEDEXPANSION を指定しています

バッチファイル d:¥bat¥for_l¥1.bat

@echo off

setlocal ENABLEDELAYEDEXPANSION

for /L %%n in ( 1,1,4 ) do (
        for /L %%i in ( 1,1,4 ) do (
                set /a a=%%n*%%i
                echo %%n*%%i=!a!
        )
)

endlocal

実行結果

1*2=2
1*3=3
1*4=4
2*1=2
2*2=4
2*3=6
2*4=8
3*1=3
3*2=6
3*3=9
3*4=12
4*1=4
4*2=8
4*3=12
4*4=16