Jan 05, 2010

robocopyで作られる「削除できないファイル」「削除できないフォルダ」を削除する

robocopyを使ったズボラなバックアップで1TBのHDDに3世代のバックアップを作ってたんだけど、CD-Rに焼いて逃がしてたMP3ファイルとかiTunesに突っ込みまくってたらとても3世代は入り切りそうにない感じになってきたんで、2世代だけのバックアップだけにすることにして、一番古いバックアップを消そうとした……んだけど、引っかかりまくってうまく行かない。

  • ほとんどのファイルはcygwinのrmコマンドで rm -r -f /cygdrive/z/backupXXXXXX/c/ とやったら消えてくれた……みたい。
  • rmコマンドが「ファイル名が長すぎて消せない」というエラーを吐くフォルダは、フォルダ名を変えたりネストが浅くなるように調整したりしたら削除できた。
  • フォルダ名がおかしいせいで消せなくなってる物がいくつかあった。具体的には、どうもフォルダ名にスペースが含まれてしまってるせいなのか、名前を変えることも消すこともできなくなってしまってた。ITmediaの記事を参考にrdコマンドでフルパス指定で rd "z:\backupXXXXXX\c\XXXX" という風にやったら削除できた。
  • "/cygdrive/z/backupXXXXXX/c/System Volume Information/" の位置にコピーされてしまった復元ポイントのデータはどう頑張ってもパーミッションエラーが出る……ので、 z:\backupXXXXXX\c のフォルダのプロパティを開いて セキュリティ→詳細設定→アクセス許可→編集→「Users」グループの項目(多分「読み取りと実行」になってる)を選択→編集→「フル コントロール」にチェックして「OK」→「すべての子孫の既存の継承可能なアクセス許可すべてを、このオブジェクトからの継承可能名アクセス許可で置き換える」にチェックして「OK」 という風にしてみたところ、やっと削除できた(親のフォルダごと削除)。

コマンドプロンプトを開くときは一応、右クリックして「管理者として実行」で。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能