Windowsのバッチファイルでループ処理を行う際に欠かせないのが「for」コマンドです。「for」コマンドを活用すれば、ファイルやディレクトリの処理、数値の繰り返し処理、環境変数の操作など、多くの自動化作業が可能になります。本記事では、Windowsバッチファイルで「for」コマンドを使う方法と、具体的なバッチファイルの例を10個紹介します。
目次
for コマンドの基本構文
for %%変数 in (リスト) do コマンド
%%変数
:繰り返しごとに変数が設定される。リスト
:処理対象の値やファイルを指定。do コマンド
:各リスト要素に対して実行するコマンド。
コマンドプロンプトで直接実行する場合は、%%変数
を %変数
に変更します。
for コマンドの基本例
@echo off
for %%i in (1 2 3 4 5) do echo %%i
このスクリプトを実行すると、1~5の数値が順番に表示されます。
1. 指定したファイルの一覧を表示
@echo off
for %%f in (*.txt) do echo %%f
カレントディレクトリ内のすべての .txt
ファイルを一覧表示します。
2. 指定した範囲の数値をループ
@echo off
for /L %%i in (1,1,5) do echo %%i
1 から 5 まで 1 ずつ増加させながらループ処理を行います。
3. フォルダ内のファイルを処理
@echo off
for %%f in (C:\test\*) do echo %%f
指定フォルダ C:\test
のファイル一覧を取得します。
4. ファイルの内容を一行ずつ表示
@echo off
for /F "tokens=*" %%i in (data.txt) do echo %%i
data.txt
の内容を1行ずつ表示します。
5. コマンドの出力結果をループ
@echo off
for /F "tokens=*" %%i in ('dir /b') do echo %%i
dir /b
コマンドの出力を for
で処理し、ファイル名だけを表示します。
6. 特定の拡張子のファイルをリネーム
@echo off
for %%f in (*.txt) do rename "%%f" "%%~nf_renamed.txt"
すべての .txt
ファイルに _renamed
を追加します。
7. 環境変数のリストを取得
@echo off
for /F "delims==" %%i in ('set') do echo %%i
環境変数のリストを表示します。
8. サブディレクトリを含めてファイル検索
@echo off
for /R C:\test %%f in (*.log) do echo %%f
C:\test
以下のすべての .log
ファイルを一覧表示します。
9. コマンドライン引数を処理
@echo off
for %%i in (%*) do echo %%i
実行時に渡されたすべての引数を表示します。
10. 2つのリストを組み合わせて処理
@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
コマンドは、ファイル操作やループ処理を簡潔に実装するのに役立ちます。本記事では基本構文から応用例まで紹介しましたが、実際の業務やタスクの自動化にぜひ活用してみてください。