ホーム > コマンドプロンプト・バッチファイル リファレンス
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 続行するには何かキーを押してください . . .
リンク



コメント