端くれプログラマの備忘録 バッチファイル [バッチファイル] サブディレクトリを巡回するには

[バッチファイル] サブディレクトリを巡回するには

バッチファイルでサブディレクトリを巡回しながら処理を実行したいことがある。以下のバッチファイルでディレクトリを巡回できる。このバッチファイルでは、カレントディレクトリのワイルドカード(*)からディレクトリのみ(/d)を取り出して、do以下の処理を行っている。

for /d %f in (*) do echo %f

もしdo以下に複数の命令を書きたい場合は、ラベルに飛ばしてexit /bで戻るとか。

for /d %f in (*) do (call :task %f)
goto done
 
:task
echo %1
exit /b
 
:done
pause

あるいは別のバッチファイルを呼び出しても良い。

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