指定した名前のディレクトリを再帰的に削除する 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