ファイル・フォルダが削除できません

文書作成日 2003/1/3 最終更新日 2004/12/31

 あるファイルやフォルダを削除しようとしても、なぜかうまくいかないことがあります。
どのような原因が考えられるのか、じっくり考えてみましょう

問題をひとつずつ解決していきましょう♪

ライトプロテクトをしている

 フロッピーディスクやMOのツメを動かしてライトプロテクト(書き込みの禁止)をしていませんか?

 ライトプロテクトをしてテストしたときには、このようなダイアログがでました。
 「ファイルまたはフォルダの削除エラー testフォルダを削除できません。このディスクは書き込み保護されています。書き込み保護を解除するか、別のディスクを使ってください。」

ライトプロテクトのときのエラーダイアログ

使用中の共有フォルダを削除しようとしました

 ネットワーク上で共有しているフォルダ・ファイルならよくあることです。
 警告を無視して[はい]をクリックしますと、削除できます。

 「ほかのユーザーがこのフォルダ内のファイルを使用している可能性があります。フォルダを削除すると、共有は解除されます。削除してもよろしいですか?」
 この表示は、とっても心臓に悪いです・・・

使用中共有リソース

 現在ネットワーク経由で他のユーザーが開いているのに、そのファイルを削除しようと試みるとき、このようなエラーが出ることがあります。
 Windows 2000/XPで利用されているファイルを知りたいなら、コマンドプロンプトに[net file]と入力して確かめるか、もしくは[コントロールパネル] - [管理ツール] - [コンピュータの管理] - [システムツール] - [共有フォルダ] - [開いているファイル]で確かめてください。

ハードディスクにエラー?

 Windows 98/Meならスキャンディスクでハードディスクに障害がないか確かめてください。
 Windows 2000/XPなら、[マイコンピューター] - [問題が起きているドライブをマウスでポイントして、マウスを右クリック] - [ディスクのプロパティのツールタブ] - [エラーチェック]で調べてみてください。
 スキャンディスクとチェックディスクがよくわからないひとは、[スキャンディスクとチェックディスクとデフラグ - Scandisk・chkdsk・defrag]を見てください。

NTFSのアクセス権

 もしNTFSでフォーマットされているなら。
 アクセス権を設定して保護しているファイルやフォルダだったり、もしくはそのようなファイルやフォルダが中に入っていると、削除できないこともあります。

 このようなサポート技術情報も見つけました。
[NT]NTFS ボリューム上のファイルを削除またはアクセスできない

ファイル・フォルダが破損している場合

 同じ名前のフォルダやファイルを、どこか他のフォルダの中に作成し、マウスを右クリックしてコピーします。
 そしてそれを問題が起きているフォルダ・ファイルが入っているところにコピーして上書き。これで消せるようになるかもしれません。
 上書きするときにはこのようなダイアログが出ます。

上書き確認ダイアログ

使用中?

 testというフォルダにtest.txtという名前のファイルを入れて、このtest.txtファイルを開いてみました。この状態でtestフォルダを削除しようとすると、このような警告ダイアログがでます。

使用中

 つまり、利用中のファイルが含まれているフォルダは、削除できないのです。
 もし「何もやっていません・・・」というひとは、セーフモードで再起動して削除してください。

属性の問題? Attributeコマンドの利用

 読みとり専用属性やシステム属性が指定されているファイルは、削除できません。
 元々Windowsに備わっていた大事なファイルや、一部のウイルス(W32.Goner.A@mmなど)ではこのような属性を指定して、削除できないように設定しています。
 Attributeコマンドの意味は、このようなものです。

-s システム属性の解除 -h 隠し属性の解除
-r 読み取り専用属性の解除 -a アーカイブ属性の解除

 またオプションとして[/s]を指定することにより、そのディレクトリの中の全てのファイルに設定を反映させられます。
 属性を変更した後、[del]コマンドで削除します。

まだうまくいかないひとへ - 何とか削除してみましょう♪

コマンドプロンプトからファイルを削除する - DelとDeltree

 セーフモードで削除できないならコマンドプロンプトを併用してみましょう。セーフモードで起動後、コマンドプロンプト(Windows 98/MeならMS-DOSプロンプトという名称になってます)で削除してみれば完璧です。

 ファイルを削除するなら[del]コマンドを利用します。delコマンドはシステム属性のファイルなどは削除できませんけど、deltreeは削除できるでしょう。
 [スタート] - [プログラム] - [アクセサリ] - [コマンドプロンプト]を起動します。

このようなディレクトリ構造のとき XPでのテスト
削除するファイルがtest3.txtなら、
このように指定します。
[C:\]の部分はドライブレターを指定します。
del c:\test1\test2\test3.txt

ちょっとおまけの実験 - フォルダを指定するとどうなるの?(WidnowsXP Pro)

この2つはどちらも、test1フォルダの中の、
test2.txtファイルだけが削除されました
del f:\test1
del f:\test1\

コマンドプロンプトからフォルダを削除する - rmdir (Winodws2000/XP)

 Winodws98/Meでは、フォルダを削除するために[deltree]コマンドを使いました。
 でもWindwos 2000/XPでは[deltree]がなくなってしまったので、代わりに[rmdir]コマンドを使います。

 [rmdir]コマンドはそのままでは、中になにかのファイル・フォルダが入っているフォルダは削除できません。「ディレクトリが空ではありません」という警告が出て失敗します。

 そのようなときには、オプションスイッチを付けて[rmdir /s]としてつかいます、これでフォルダを含めたディレクトリツリーを丸ごと削除できるでしょう。

test2フォルダを削除するときには、
このように入力します
rmdir /s c:\test1\test2
削除するフォルダを確認したあと、
[y]キーを押してから[Enter]キーを押してください
c:\test1\test2、よろしいですか(Y/N)

コマンドプロンプトがわかりません - Reboot File Deleterをつかいましょう♪

 Reboot File Deleter(フリーで配布されています)を使ってみてはどうでしょう?
 でもこのツールはファイルは削除できますけど、フォルダは削除できません。ご注意。
 ウイルスのファイルなどはときおり、アンチウイルスソフトでは駆除できないことがあります(なぜなんでしょう?)そのような時にも有効なツールです。

コマンドプロンプトがわかりません - いじくるつくーるをつかいましょう♪

 INASOFTさんのいじくるつくーるはWindowsの各種設定をするためのツール。ちょっと難しいレジストリの編集ができる、とっても便利なフリーウェアです。
 このいじくるつくーるには、ファイルとフォルダをOSの再起動時に削除する機能があります、これを使ってファイル・フォルダを削除してみましょう。

 ダウンロードしてインストールします。いじくるつくーるを起動して、[すべてのカテゴリ] - [起動時に実行] をひらいて、画面右ペインの [起動時にファイル削除・名前変更]をダブルクリックして開きます。
 名前を変更・削除するファイルとフォルダを登録するために、[新規(N)]を押します。

 削除するファイルを指定するためには、[ファイル名]の欄の右側の水色のアイコンを押して登録します。
 フォルダを指定するためには、黄緑色のアイコンを押してください(中にファイルがはいっているフォルダは、削除できません)。

いじくるつくーる

 [変更後のファイル名(省略するとファイルは削除されます)]の欄には、なにも書かずにそのまま[OK]を押します(この欄への入力を省略しないと、削除ではなく名称を変更することになります)。
 登録したら、下の[OK]を押して確認ダイアログの[はい]を押します。

いじくるつくーる

 いじくるつくーるの右上の×を押して、いじくるつくーるを終了します。そしてWindowsを再起動してください。

最後に - システムファイルプロテクション?

 まさか今あなたが消そうとしているのは、システムファイル保護の対象ファイルではないですよね?そのようなファイルは、消そうとしても一瞬で復活してしまいます(システムファイルプロテクション機能です)。

 Windows 2000/XPではセーフモードで起動しますと、この機能は停止されます。でもMeはダメでした。Meでそのようなファイルを削除するためには、起動ディスクでMS-DOSモードで起動してから削除する必要があるみたいです。

トップページよくあるWindowsトラブルなどのトピック>ファイル・フォルダが削除できません

ご意見はフォームメールへ
This contents was written by tef_tef.