Windowsコマンドプロンプトで FOR コマンド

もう Windows でコマンドプロンプトなんか使わない事も多くなった今日このごろですが、ちょっと複雑なことをしたいけれど、アプリを作るまでもないという処理を実行するには、やはり便利なMS-DOSコマンド&バッチ処理。
ここでは、DOSでのループ処理を解説します。

概要

繰り返しコマンドを実行します。

基本構文

FOR 変数 IN (リスト) DO コマンド [ パラメタ ]

例文

FOR %%I IN (1 2) DO FOR %%J IN (A B) DO ECHO %%I%%J

  • 上例はFOR文を二重の入れ子にしています
  • %%I は変数なので、%%A でも何でも良いです
  • バッチファイルに記述する場合は %%I
  • コマンドライン直打ちの場合は %I

FOR /R “C:\” %A IN (*.jpg *.jpeg *.png *.gif) DO ECHO “%A”

  • 上例は指定した拡張子のファイルを検索してECHO出力しています

実行結果

c:\>FOR %I IN (1 2) DO FOR %J IN (A B) DO ECHO %I%J

c:\>FOR %J IN (A B) DO ECHO 1%J

c:\>ECHO 1A
1A

c:\>ECHO 1B
1B

c:\>FOR %J IN (A B) DO ECHO 2%J

c:\>ECHO 2A
2A

c:\>ECHO 2B
2B