Flat lay of business concept
Windowsのバッチファイルでループ処理を行う際に欠かせないのが「for」コマンドです。「for」コマンドを活用すれば、ファイルやディレクトリの処理、数値の繰り返し処理、環境変数の操作など、多くの自動化作業が可能になります。本記事では、Windowsバッチファイルで「for」コマンドを使う方法と、具体的なバッチファイルの例を10個紹介します。
for %%変数 in (リスト) do コマンド
%%変数
:繰り返しごとに変数が設定される。リスト
:処理対象の値やファイルを指定。do コマンド
:各リスト要素に対して実行するコマンド。コマンドプロンプトで直接実行する場合は、%%変数
を %変数
に変更します。
@echo off
for %%i in (1 2 3 4 5) do echo %%i
このスクリプトを実行すると、1~5の数値が順番に表示されます。
@echo off
for %%f in (*.txt) do echo %%f
カレントディレクトリ内のすべての .txt
ファイルを一覧表示します。
@echo off
for /L %%i in (1,1,5) do echo %%i
1 から 5 まで 1 ずつ増加させながらループ処理を行います。
@echo off
for %%f in (C:\test\*) do echo %%f
指定フォルダ C:\test
のファイル一覧を取得します。
@echo off
for /F "tokens=*" %%i in (data.txt) do echo %%i
data.txt
の内容を1行ずつ表示します。
@echo off
for /F "tokens=*" %%i in ('dir /b') do echo %%i
dir /b
コマンドの出力を for
で処理し、ファイル名だけを表示します。
@echo off
for %%f in (*.txt) do rename "%%f" "%%~nf_renamed.txt"
すべての .txt
ファイルに _renamed
を追加します。
@echo off
for /F "delims==" %%i in ('set') do echo %%i
環境変数のリストを表示します。
@echo off
for /R C:\test %%f in (*.log) do echo %%f
C:\test
以下のすべての .log
ファイルを一覧表示します。
@echo off
for %%i in (%*) do echo %%i
実行時に渡されたすべての引数を表示します。
@echo off
for %%i in (A B C) do for %%j in (1 2 3) do echo %%i%%j
A1 A2 A3 B1 B2 B3 C1 C2 C3
のように出力されます。
Windowsバッチファイルの for
コマンドは、ファイル操作やループ処理を簡潔に実装するのに役立ちます。本記事では基本構文から応用例まで紹介しましたが、実際の業務やタスクの自動化にぜひ活用してみてください。