• ベストアンサー

フォルダーが削除できない。

フォルダーが削除できない。 長いフォルダー名を使用したものがあり、 気づいたら、フォルダーがループのような階層を作っていました。 開いていっても、最終フォルダーに到達しません。 フォルダーのメモリは、0バイトです。 C:\にあります。 いろいろと試しましたが消えません。 ・コマンドプロンプトで削除する。 ・プロパティの設定を変えて削除する。(一通り行いました) ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • iahNbr
  • ベストアンサー率100% (1/1)
回答No.3

No.1です。少々現象が違うのですが、コマンドプロンプトから削除できないときに、強制削除ツールを使って削除できた場合があるようです。 「Unlocker」http://www.forest.impress.co.jp/article/2005/05/10/unlocker.html 他にもフリーの強制削除ツールがあるようですので、どうしてもの場合は試されてはいかがでしょうか。

その他の回答 (2)

回答No.2

長いフォルダ名とフォルダのループの関連や,メモリが0バイトというのは何を意味するのかまったくわかりませんが……。 ループする場合はどこかにジャンクションかシンボリックリンクがあるはずなので,それを削除すればよいです。 # ジャンクション / シンボリックリンクの削除はRmDirコマンドやRemoveDirectory API一発でいけますが……。 できないのであれば,RemoveDirectory APIを実行して,失敗したならGetLastError APIの結果を載せてください。 単に長いパス名が問題であれば,RemoveDirectoryW APIに\\?\接頭辞を使って削除できるかもしれません。 MSDN: RemoveDirectory Function (Windows) http://msdn.microsoft.com/en-us/library/aa365488.aspx

hatokamome
質問者

補足

ご回答有難うございます。 GetLastErrorは「5」:アクセスできないエラーでした。 また、以下のソースで削除できませんでした。 #include <stdio.h> #include <windows.h> int main(void) { char name[] = "C:\\Workspace"; if(RemoveDirectory(name) == FALSE){ printf("Error: RemoveDirectory "); printf("%d \n",GetLastError()); return -1; } return 0; } 元々Javaの開発環境が入っていたフォルダーで、コマンドプロンプトでは、 以下のようになっています。 C:\Workspace>tree フォルダ パスの一覧: ボリューム c: ボリューム シリアル番号は 0000000 C4G:D55E です C:. └─picturezip ├─bin │ └─picture2 │ └─src │ └─picture2009_1206_0240_80% test_bag │ └─src │ └─picture2009_1206_0240_80% test_bag │ └─src │ └─picture2009_1206_0240_80% test_bag │ └─src │ └─picture2009_1206_0240_80% test_bag │ └─src │ └─picture2009_1206_0240_80% test_bag │ └─src └─src └─t └─src └─picture └─src └─picture2009_1206_0240_80% test_bag └─src └─picture2009_1206_0240_80% test_bag └─src └─picture2009_1206_0240_80% test_bag └─src └─picture2009_1206_0240_80% test_bag └─src └─picture2009_1206_0240_80% test_bag └─src ここまでが表示限界のようです。

  • iahNbr
  • ベストアンサー率100% (1/1)
回答No.1

セーフモードで削除は試されましたか。

hatokamome
質問者

お礼

ありがとうございます。 セーフモードでも駄目でした。

関連するQ&A