Categories: OS

Windowsのバッチファイルで使う「for」コマンドの徹底解説

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

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。