Windowsでファイルやフォルダをロックしているプロセスを調べる
Windowsでファイルやフォルダをロックしているプロセスを調べる方法を教えてください
例えば、フォルダを削除しようとすると、Windowsはこれを報告します:
フォルダが別のプログラムで開かれているので、アクションを完了することができません
ファイルでも同じことが起こりますが、現在どのプログラムやアプリケーションがそれを使用していて、ファイルやフォルダを削除することを妨げているかを調べる方法を教えてください。
Windowsでファイルやフォルダをロックしているプロセスを調べる方法を教えてください
例えば、フォルダを削除しようとすると、Windowsはこれを報告します:
フォルダが別のプログラムで開かれているので、アクションを完了することができません
ファイルでも同じことが起こりますが、現在どのプログラムやアプリケーションがそれを使用していて、ファイルやフォルダを削除することを妨げているかを調べる方法を教えてください。
A couple of options: Microsoft/SysInternals Process Explorer - Go to Find > Find Handle or DLL. Handle or DLL substring: “テキストボックスに、ファイルへのパスを入力して(例: "C:\pathto\file.txt”)、"Search “をクリックします。そのファイルのオープンハンドルを持つすべてのプロセスが表示されます。 WhoLockMe - 右クリックメニューオプションを追加するエクスプローラ拡張機能
N.B. WhoLockMeはWin10では動作しないようです(少なくとも私はregvr32.exeの32-または64-bitバージョンのどちらにも登録できませんでした)。
プロセスエクスプローラ](http://technet.microsoft.com/en-us/sysinternals/bb896653)(`procexp.exe`)を見てみましょう。
その紹介から:
どのプログラムが特定のファイルやディレクトリを開いているのか気になったことはありませんか?
特定のファイルを使用しているプロセスを見つけるには、以下の手順に従ってください:
PowerShellの方法:
IF((Test-Path -Path $FileOrFolderPath) -eq $false) {
Write-Warning "File or directory does not exist."
}
Else {
$LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
Write-Host $LockingProcess
}
openfiles
コマンドは、openfiles /local on
を実行して再起動することで、ローカルファイルのサポートが有効になっている必要があります。
LockHunter は、ファイルやフォルダをロックしている可能性のある任意のハンドラのロックを解除することができます。類似のフリーウェアとは異なり、32bit、64bitの両方のWindowsに対応しています。
知らないものでブロックされたファイルを削除するためのフリーツールです。LockHunterは、マルウェア、および理由もなくファイルをブロックしている他のプログラムとの戦いに便利です。他の類似のツールとは異なり、それはごみ箱にファイルを削除するので、誤って削除された場合は、それらを復元することができます。
- ファイルやフォルダをロックするプロセスを示しています
- ロックされたファイルのロックを解除、削除、コピーまたは名前を変更することができます
- ロックプロセスを殺すことができます
- ハードドライブからロックプロセスを削除することができます
- エクスプローラーメニューに統合されています
- それはごみ箱にファイルを削除するので、誤って削除された場合、それらを復元することができます
- 32ビットと64ビットのWindowsの両方をサポートしています。
ここにあるプログラムの多くは時代遅れです。最終的には nirsoft の OpenFilesView を使うことになりましたが、これはとてもうまく機能しました。
一番いいところはエクスプローラーメニューの統合です。ウェブサイト
エクスプローラーコンテキストメニュー
バージョン1.10からは、Windowsエクスプローラーから直接OpenedFilesViewを起動して、検査したいファイルやフォルダのハンドルのみを表示できるようになりました。この機能を有効にするには、オプションメニューの「エクスプローラーのコンテキストメニューを有効にする」にチェックを入れてください。この機能を有効にしたら、Windowsエクスプローラ上の任意のファイルやフォルダを右クリックし、メニューから「OpenedFilesView」の項目を選択します。フォルダに対して [OpenedFilesView] オプションを実行すると、そのフォルダ内で開いているすべてのファイルが表示されます。ファイルに対してOpenedFilesViewオプションを実行すると、そのファイルに対して開かれたすべてのハンドルが表示されます。
このツールは2019年でも確実に動作します。
ちなみに、上記の回答ではどれも解決しませんでした。
UNLOCKERを使ってみたのですが、これもダメでした。この “ファイルのような幽霊 "は、私は私のコンピュータ(Windows Professional XP)をALT-TABするたびに表示されるでしょう、すなわち、私は私のタスクバー上の1つだけが表示されていたときに、私は2つのMS Excelプログラムが実行されているのが表示されます。しかし、私はエラーメッセージを取得し続けた:
削除できません(LARGE.xlsファイル)。それは別の人またはプログラムによって使用されています。
その後、「同期中」というMemeoの通知が表示され続け、プログラムを終了させました。
追加の可能性としては、私が費やした時間を節約するために以下のようなことが考えられます:
古いバージョンのWindowsでは、"Access Denied - あなたには権限がないかもしれません、またはファイルが使用中かもしれません “と表示されることがあります。あなたがプロセスエクスプローラを介してファイルが、実際には、誰によって開かれていないことを発見した場合は、セキュリティの問題があることを確率しています。管理者アカウントを使用して、エクスプローラでファイルを選択し、右クリックして、プロパティ、セキュリティ、詳細設定、所有者を選択します。ファイルは、もはや存在しないか、または存在することを確認できなくなったアカウント(Active Directoryの信頼設定を変更するため)によって所有されている可能性があります。
所有権を管理者に変更して、あなたは行っても大丈夫です。