SSブログ

フォルダ(ディレクトリ)に含まれるフォルダ一覧に対する処理@バッチファイル [Windows]

バッチファイルで指定したフォルダ(ディレクトリ)に含まれる全フォルダに対して処理をしたいときのおぼえがき

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で受けるとダブルクォートを削除してくれる。
最近バッチファイルを触ってなかったので、メモ。


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。