Windowsでファイルやフォルダを削除・名前変更しようとすると、「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。フォルダーまたはファイルを閉じてから再実行してください。」とのダイアログが出て、削除・名前変更ができない場合がある。

別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。 フォルダーまたはファイルを閉じてから再実行してください。

フォルダが消せない場合、よく該当する原因はこんな感じ。
・削除対象フォルダ以下にあるEXEファイルを実行中。
・削除対象フォルダ以下にあるファイルをどれかプロセスがが利用している。
・カレントディレクトリが削除対象フォルダ以下になっている。(コマンドプロンプトを利用しているときよくある。)

しかし、ファイルやフォルダ利用している「別のプログラム」がどれかわからない場合もある。その際はリソースモニタまたはProcess Explorerで該当のファイルやフォルダを探すことができる。

方法1 リソースモニタで探す

リソースモニタを起動し、ハンドルを探す。
・リソースモニタはタスクマネージャー(CTRL+ALT+DELETEやタスクバー右クリック)から起動できる。
タスクマネージャーを起動

・パフォーマンスタブからリソースモニタを起動する。
タスクマネージャーからリソースモニタ起動

・リソースモニタを起動したら、ハンドルを探す機能で、該当のファイルやフォルダを検索する。
リソースモニタでハンドル検索

すると、見つかった!

方法2 Process Explorerで探す

ProcessExplorer(Windows Sysinternals)をダウンロードして起動し、Findメニューからハンドル・DLLを探す。
・Process Explorerを起動し、Find Handle or DLLを選択。
Process Explorer(Find Handle or DLL)

・Find Handle or DLL Search画面で該当フォルダ・ファイルを探す。
Process Explorer(Find Handle or DLL result)

すると、見つかった!