« DreamWeaver CS4 betaを試す | トップページ | ココログ+WindowsLiveWriterでLightBox.jsを使う »

大量の特定名フォルダを全削除する

会社のあるファイルサーバの管理をしています(していた、が正しいかな)。
毎日バックアップをとる設定になっており、テープにとるのも面倒なのでBackup専用のNAS(ホットスワップRAID)にコピーをとっている。

普段はBackupExecを使うのだけれども、どういう訳かBackupExecからドメインの特定のサーバだけ見つけることが出来ない。古いバージョンでもあるのでほおっておいて別のバックアップソフトを探したところ、別のサーバでBunBackupというソフトを利用していたのでそのまま利用してみた。

なかなかに便利なこのソフト、世代管理という機能もあり、毎日ファイルが更新されていても○○月○○日の状態に戻すことが可能。ということで世代管理機能を使っていたのだが、ある日突然Backup用NASから悲鳴メールがやってきた、「おなかいっぱいです」と。

どうも全ファイル更新と誤認識されたのか世代管理フォルダが山のように出来ている。削除しようにも4万個以上のフォルダのなかにまんべんなく「世代 2008---」というフォルダが散らばっている。これを手動削除する羽目に。

やりたいことはあるドライブにある4万個以上の「世代 2008---」という名前のフォルダを全部削除すること。

少なければWindowsの検索で見つけた物を削除すればいいのだけど数が多すぎて作業性に問題有り。そこでコマンドでやっつけることにする。

ディレクトリの一覧を表示するコマンドはdirだが、最近のdirコマンドは頭が良く/sオプションでサブディレクトリも再帰的に表示できるようになっている。日付やサイズはいらないので/bオプションでファイル名だけ表示、さらにディレクトリ(フォルダ)の一覧だけ欲しいので/a:dオプションをつける

cd /d d:\
dir /s/b/a:d

これでDドライブのすべてのディレクトリ(フォルダ)が表示される。今回は「世代」で始まるフォルダの一覧が欲しいので

dir /s/b/a:d "世代*" >dellist.txt

とすればdellist.txtに「世代」~で始まるフォルダ一覧ができあがり。

次にできあがったリストをバッチファイルにする。
フォルダを消すコマンドのrmdir(もしくはrd)、/sオプションで再帰削除、/qで削除のY/Nを聞いてこなくなるのでこの2つのオプションを使う。
dellist.txtをテキストエディタで開き、各行の先頭に 「rmdir/s/q 」と入れてバッチファイルにすればあとは実行するだけ。各行の先頭に文字ををいれるのはメモ帳ではしんどいので秀丸とか好きなエディタの置換機能を利用するのが吉。

|

« DreamWeaver CS4 betaを試す | トップページ | ココログ+WindowsLiveWriterでLightBox.jsを使う »

パソコン・インターネット」カテゴリの記事

コメント

いい情報ありがとうございます!!

投稿: FXER | 2008年7月 8日 (火) 06時26分

最初はLinuxマシンにWindows共有フォルダをsmbmountして1-linerする方が楽だったような気がしましたが、結構Windowsのコマンドプロンプトも役に立ちますね。

投稿: けろろ(管理人) | 2008年7月13日 (日) 01時09分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2371/41741039

この記事へのトラックバック一覧です: 大量の特定名フォルダを全削除する:

« DreamWeaver CS4 betaを試す | トップページ | ココログ+WindowsLiveWriterでLightBox.jsを使う »