Windows コマンド プロンプトでディレクトリを反復処理するにはどうすればよいですか?

Windows コマンド プロンプトでディレクトリを反復処理するにはどうすればよいですか?

Windowsのコマンドプロンプト(cmd.exe)にはFORコマンドが用意されています。これを使用して、任意の操作を実行できます。ファイルディレクトリ内。例:

\> dir
28.05.2012  18:25                69 buildall.bat
28.05.2012  07:48    <DIR>          include
28.05.2012  18:23    <DIR>          sub-607

\> for %d in (*.bat) echo %d

特定のディレクトリ内のすべてのサブディレクトリに対して同じことを (非再帰的に) 行うにはどうすればよいでしょうか? 考え方は次のとおりです。

for %d in (sub-*) do (
  cd %d
  dosomething
  cd ..
)

上記のfor文は607未満を見つけられません。なぜなら、それはファイル

答え1

このコマンドは、ファイルではなくサブディレクトリを反復処理するためのスイッチをfor使用できます。/D

for /D %d in (sub-*) do ...

詳細については、こちらをご覧ください:http://ss64.com/nt/for_d.html

関連情報