Corredor

ウェブ、プログラミングの勉強メモ。

指定した名前のディレクトリを再帰的に削除する Windows コマンド

SVN を使っていると .svn フォルダが大量にできてしまい、これを一括で消したいことがある。

Windows のコマンドプロンプトから操作するときは For コマンドと Rmdir コマンドを組み合わせることになるが、For コマンドの書き方がいつまで経っても覚えられないのでメモ。

For /r %d In (.svn) Do Rmdir /s /q "%d"
  • For コマンドの /r オプションは、/r (パス) と書けば指定のパス配下、/r のみであればカレントディレクトリ配下のフォルダツリーを対象に操作する。
    つまり、For /r %d In (.svn) で、カレントディレクトリ配下のフォルダツリー中に存在する「.svn」ディレクトリに対してループ操作を行える。
  • Rmdir コマンドはワイルドカードが使えないので For コマンドと組み合わせて操作する。途中に空白が入っていても操作できるようにダブルクォートで変数を "%d" と囲んでおく。
  • /s オプションはフォルダ内のファイルも全て削除。
  • /q オプションは削除時に確認メッセージを出さないようにする。

上記コマンドは以下のサイトを参考にしたが、For /d オプションでも書けるっぽい。もう覚えられないので無視。w