ホーム > コマンドプロンプト・バッチファイル リファレンス
Windowsのバッチファイルにおける「For」文の使い方を解説します。
指定した回数分ループする
指定した回数分ループしつつ処理を行う方法を説明します。
書式
for /l %%変数 in (開始値, 増加値, 終了値) do ( 実行する処理1 実行する処理2 実行する処理3 )
記述例
開始値「5」、増加値「1」、終了値「9」を条件としてループする例です。
@echo off for /l %%i in (5, 1, 9) do ( echo %%i ) pause
上記の実行結果です。
5 6 7 8 9 続行するには何かキーを押してください . . .
コマンドの実行結果を元にループする
コマンドの実行結果を元にして、ループしつつ処理を行う方法を説明します。
書式
for /f %%変数 in ('コマンド') do ( 実行する処理1 実行する処理2 実行する処理3 )
記述例①
dirコマンド(dir /b)の実行結果を元にループしつつ、結果を1行ずつ表示する例です。
@echo off cd C:\workspace\Data for /f %%i in ('dir /b') do ( rem コマンドの実行結果を1行ずつ表示する echo %%i ) pause
上記の実行結果です。
file1.log file1.txt file2.log file2.txt file3.log file3.txt 続行するには何かキーを押してください . . .
記述例②
「使用例①」ですが、普通に「dir /b」を実行した場合と違いが分かりにくいので、ファイル名と合わせて、ループ回数も表示するようにしてみました。
@echo off cd C:\workspace\Data set count=0 setlocal enabledelayedexpansion for /f %%i in ('dir /b') do ( set /a count=count+1 rem コマンドの実行結果を1行ずつ表示する echo ループ回数[!count!]%%i ) pause
上記の実行結果です。
コマンドの実行結果が1行ずつ処理されていることが分かります。
ループ回数[1]file1.log ループ回数[2]file1.txt ループ回数[3]file2.log ループ回数[4]file2.txt ループ回数[5]file3.log ループ回数[6]file3.txt 続行するには何かキーを押してください . . .
リンク
コメント