PR

【バッチ】forコマンド(繰り返し)を1分でわかりやすく解説

Command

Windowsバッチファイルにおけるforコマンドは、一連のファイルや文字列に対して繰り返し操作を行うためのコマンドです。このコマンドを使用することで、複雑なタスクを自動化し、手作業を大幅に削減することができます。

@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)

参考 コマンドプロンプトとは?

IT初心者でも、基本的なコマンドプロンプトの操作に慣れていれば、このコマンドの利用で日常の作業を効率化することが可能です。

この記事では、forコマンドの基本から応用まで、初心者でも理解しやすいように、基本的な概念からスタートし、徐々に複雑な使用例を段階的に解説します。

この記事で学べる内容
  • forコマンドとは
  • forコマンドの構文ルール/使い方
  • forコマンドを利用する際の注意点・Tips

システムエンジニアやプログラマーであれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。

スポンサーリンク

forコマンドとは?

forコマンドは、繰り返し処理を行うためのコマンドです。

このコマンドを使うことで、ファイルの集合、数値の範囲、または文字列のリストに対して、一連のコマンドを繰り返し実行することが可能に。特に、日常的なタスクを自動化する際にforコマンドの効果を最大限に活かすことができます。

forコマンド:構文ルール

forコマンドの基本的な構文は以下の通り。

for %%変数 in (セット) do コマンド [コマンド引数]
  • %%変数
    • 繰り返しの各ステップで使用される変数を表します。
  • (セット)
    • 繰り返しを適用する一連の値やファイル名などを指定します。
  • do
    • 指定されたセットの各要素に対して実行するコマンドを定義します。

さっそくいくつかのサンプルコードを見ていきましょう。

例1: ファイル名のリストアップ

特定のディレクトリ内のすべての.txtファイルの名前を表示する例です。

@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)

:: ディレクトリ内の各.txtファイルに対して、「ファイル名: ファイル名.txt」と表示されます。

例2: 数値の範囲による繰り返し

1から5までの数値を表示する例です。

@echo off
for /l %%n in (1,1,5) do (
    echo %%n
)

:: 出力結果
:: 1
:: 2
:: 3
:: 4
:: 5

例3: ファイル内の特定の文字列を検索

指定されたディレクトリ内の.logファイル内で「Error」という文字列を含む行を検索します。

@echo off
for %%f in (*.log) do (
    find "Error" %%f
)

forコマンドのオプション

Windowsバッチファイルにおけるforコマンドには、さまざまなオプションが存在し、これらを利用することでコマンドの動作をカスタマイズできます。

  1. /D - ディレクトリに対する繰り返しを行います。
  2. /R - ディレクトリ構造を再帰的に処理します。
  3. /L - 数値の範囲に基づいて繰り返しを行います。
  4. /F - ファイルまたはコマンドの出力から読み取った結果に基づいて繰り返しを行います。

1. /D オプションの使用例

現在のディレクトリにあるすべてのサブディレクトリの名前を表示します。

@echo off
for /D %%d in (*) do (
    echo ディレクトリ: %%d
)

2. /R オプションの使用例

特定のディレクトリ(ここではC:\Example)とそのサブディレクトリ内のすべての.txtファイルを検索します。

@echo off
for /R C:\Example %%f in (*.txt) do (
    echo 発見されたファイル: %%f
)

3. /L オプションの使用例

1から10までの数値を表示します。

@echo off
for /L %%n in (1,1,10) do (
    echo %%n
)

4. /F オプションの使用例

特定のファイル(ここではfilelist.txt)から読み取った各行に対して繰り返し処理を行います。

@echo off
for /F "delims=" %%l in (filelist.txt) do (
    echo 行: %%l
)

まとめ forコマンドとは?

  • 繰り返し処理の実行
    • 特定のコマンドを一連のファイル、数値、または文字列に対して繰り返し実行する。
  • 自動化の強化
    • 複雑なタスクを効率的に自動化するために使用される。
  • 柔軟性
    • ファイルの一覧表示、テキストの検索、数値の範囲での繰り返し等、様々なシナリオに対応。
  • オプションの多様性
    • 異なるオプション(/D, /R, /L, /F等)を使用して、さまざまなタイプの繰り返し処理を実行することが可能。
@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
CommandIT-Skills
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました