`rd /S` が「ディレクトリが空ではありません」と表示するのはなぜですか?

`rd /S` が「ディレクトリが空ではありません」と表示するのはなぜですか?

rd /S空でないディレクトリで実行しようとしていますが、正常に動作するときもあれば、「ディレクトリが空ではありません」と報告されるときRemove-Itemもあります。なぜこのエラーが発生するのでしょうか? Windows でファイルとサブディレクトリがいっぱいのフォルダを削除する確実な方法はありますか? PowerShell もこの問題に悩まされています。

答え1

ローカルのウイルス対策またはインデックス サービスが、新しくコピーされたファイルをスキャンしてロックし、すぐに削除されないようにしている可能性があります。

遅延をプログラムし、失敗した場合は再試行します。

for (i = 1 to 10 etc...)
{
  try to remove directory
  if directory does not exist, break out of loop
  wait a second
}
if directory still exists, abort!

答え2

削除されていない空のフォルダーには隠しファイルが含まれているか、誰かがまだそのフォルダーを使用している可能性が非常に高くなります。

答え3

これを試して:

del c:\test\*.* /Q
rmdir c:\test /Q

答え4

rd /S空でないディレクトリで実行しようとしていますが、うまく動作する場合もありますが、ディレクトリは空ではありませんなぜこのエラーが発生するのでしょうか?

隠しファイルや異なる権限を必要とするファイルが含まれているためです。

Windows でファイルとサブディレクトリがいっぱいのフォルダを削除する確実な方法はありますか?

フォルダの中を見てくださいファイルが残っているかどうかを確認し、手動で削除できるかどうかを確認します。削除できない場合は、別の権限が必要になる可能性があります。昇格したコマンドプロンプト

PowerShell の Remove-Item もこの問題の影響を受けます。

権限の問題ではない場合は、強制的に実行できます。Remove-Item -Recurse -Force …

関連情報