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 コマンドは、ファイル操作やループ処理を簡潔に実装するのに役立ちます。本記事では基本構文から応用例まで紹介しましたが、実際の業務やタスクの自動化にぜひ活用してみてください。