バッチファイルでサブディレクトリを巡回しながら処理を実行したいことがある。以下のバッチファイルでディレクトリを巡回できる。このバッチファイルでは、カレントディレクトリのワイルドカード(*)からディレクトリのみ(/d)を取り出して、do以下の処理を行っている。
1 |
for /d %f in (*) do echo %f |
もしdo以下に複数の命令を書きたい場合は、ラベルに飛ばしてexit /bで戻るとか。
1 2 3 4 5 6 7 8 9 |
for /d %f in (*) do (call :task %f) goto done :task echo %1 exit /b :done pause |
あるいは別のバッチファイルを呼び出しても良い。
1 |
for /d %f in (*) do call task.bat %f |
For – DOS コマンド一覧
http://pf-j.sakura.ne.jp/program/dos/doscmd/for.htm
Call – DOS コマンド一覧
http://pf-j.sakura.ne.jp/program/dos/doscmd/call.htm