フォルダ(ディレクトリ)に含まれるフォルダ一覧に対する処理@バッチファイル [Windows]
バッチファイルで指定したフォルダ(ディレクトリ)に含まれる全フォルダに対して処理をしたいときのおぼえがき
Cドライブ直下のフォルダ一覧を表示したいとき。
forにつけた/dは、inで指定したセットがワイルドカード指定の場合、フォルダ(ディレクトリ)だけ対象にしてくれる。
フォルダにスペースが含まれているとサブルーチン(hoge)に正しく引数が渡らないので、"(ダブルクォート)"でくくる。サブルーチン(hoge)に渡ったときに、引数がダブルクォートでくくられているのが困るときは、%~1で受けるとダブルクォートを削除してくれる。
最近バッチファイルを触ってなかったので、メモ。
Cドライブ直下のフォルダ一覧を表示したいとき。
echo off
for /d %%a in (c:\*) do (call :hoge "%%a")
goto end
:hoge
echo %~1
exit /b
:end
pause
forにつけた/dは、inで指定したセットがワイルドカード指定の場合、フォルダ(ディレクトリ)だけ対象にしてくれる。
フォルダにスペースが含まれているとサブルーチン(hoge)に正しく引数が渡らないので、"(ダブルクォート)"でくくる。サブルーチン(hoge)に渡ったときに、引数がダブルクォートでくくられているのが困るときは、%~1で受けるとダブルクォートを削除してくれる。
最近バッチファイルを触ってなかったので、メモ。
コメント 0