手動で内容を削除するまでフォルダーを削除できないことがあるのはなぜですか? (Windows)

手動で内容を削除するまでフォルダーを削除できないことがあるのはなぜですか? (Windows)

時々、Windows でフォルダーを削除しようとすると、そのフォルダーを削除するには [現在のアカウント] からの許可が必要であるというメッセージが表示されます。私はすでにそのユーザーとしてログインしているので、これは奇妙です。ただし、フォルダーを開いてすべてのコンテンツを選択し、それらを削除 (プロンプトなしで) すると、セキュリティ プロンプトなしで元のフォルダーに戻って削除できます。

これは、Visual Studio によって作成されたプロジェクト フォルダーで最も頻繁に発生します (多くの場合、.vs フォルダーと .git フォルダーがこの問題の原因です) が、他のフォルダーでも発生します。また、再帰的に発生します。問題のあるフォルダーを開き、すべてのコンテンツを削除し、多数のサブフォルダーを削除できないというメッセージが表示され、各サブフォルダーを開いてすべてのコンテンツを削除する、などです。

Process Explorer でフォルダーを確認すると、フォルダーまたはその内容に接続されているプロセスは見つかりません。

これを自動化するのは簡単そうに思えますが、そもそもなぜこれが起こるのでしょうか?

答え1

私もよく同じことを考えていました。Unix (Linux) ベースのシステムではこの問題は発生しません。私の推測では、MS が対処したくないカーネルの問題が絡み合っているのだと思います。

私はこれを何度も調査しました。私はあなたを助けようとしていますが、私の知識が決定的な答えであるわけではありません。この問題は Windows 7 までは覚えていませんが、それが続いているという事実から、この問題は複雑すぎて MS カーネルの奥深くに潜んでいるため、MS が修正する気にはなれないのではないかと思います。

  1. 最初の可能性は、他のプロセスが何らかの形で妨害されたり、デッドロックしたりしていることです。ファイル エクスプローラーがプログラムのアイコンが必要なときにプログラムにアクセスしても解放されないという単純な問題である可能性があります。

  2. もう 1 つの可能性は、MS キャッシュ プログラムに何らかの未知の問題があるか混乱しているため、何らかのプロセスまたはデータがファイル マネージャーに使用中であるか、または使用可能な状態にしておく必要があることを伝えていることです。

  3. または、所有権が間違っています。おそらく、ファイルにアクセスした後、ファイル プロパティ テーブルには、システムがファイルを使用しているか、制御していることが示され、どのユーザーにもファイルに対して何かを行う権限がないことが示されます。これは、ファイル ロックの問題に関連している可能性があります。

  4. 私の推測としては、これは当て推量ですが、何らかの理由でファイルとメモリ マネージャーがおかしくなり、ファイル情報がシステムやカーネルによっても編集できなくなるのではないかと思います。

カーネル キャッシュ / メモリ / ファイル マネージャの問題を示す 1 つの手がかりは、再起動後に問題が消えることです (所有権または使用中のファイル ロックの問題を示している可能性があります)。問題が何であれ、これは Microsoft の大きな失敗であり (Microsoft もそのことを認識しています)、最も優秀で聡明なプログラマーでもコストとリソースを効率的に活用して解決することができません。

関連情報