Windowsでファイルまたはフォルダーをロックしているプロセスを調べる


717

Windowsでファイルまたはフォルダーをロックしているプロセスを確認するにはどうすればよいですか?

たとえば、フォルダーを削除しようとすると、Windowsはこれを報告します。

別のプログラムでフォルダーが開いているため、アクションを完了できません

ファイルでも同じことが起こりますが、どのプログラムまたはアプリケーションが現在それを使用していて、ファイルまたはフォルダーを削除できないようにするのですか?


5
このServerFaultの質問を参照してください。
ジョン・フーヒ

1
あなたのファイルはビデオですか?Windowsエクスプローラー自体がファイルを「使用」していることに気付くかもしれません...
DisgruntledGoat

37
これはどのように重複していますか?彼は、ロックされたファイルを削除する方法ではなく、ファイルをロックしているプロセスを見つける方法を具体的に求めています。
b1nary.atr0phy

8
ここに組み込みの単純な回答を追加することはできません。これは、誤って重複としてマークされているためです。また、XPにのみ適用されるため、他のスレッドに追加することもできません。ただし、とにかく、リソースモニターを備えたWindowsバージョン(検索バーに入力)の場合は、[CPU]タブ/ [関連付けられたハンドル]に移動し、ファイルまたはフォルダーを検索します。
jontyc

私は、Windows 10が(と私は早くもWindows 7のように推測)あなたはプロセスがファイルまたはフォルダのロックされているものを見ることができますリソースモニタと呼ばれるプログラム、持っていることを学びました:stackoverflow.com/a/24126882/470749を
ライアン・

回答:


67

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と再起動します。

詳細Windowsでファイルまたはフォルダーをロックしているプロセスを確認する方法


12
この機能を最初に有効にする必要がありますopenfiles /local on
-mstrange

6
残念ながら、openfiles64ビットのWindows上で動作していないようだERROR: The target system must be running a 32 bit OS.
トーマス・S・

1
私にとってはWin10 64で動作します
Michael

3
基本的に純粋なcmdでそれを達成できるように見えますopenfiles /query /fo table | find /I "<path>"か?
mwfearnley

1
...何かを有効にするために再起動する場合は、なぜ再起動してフォルダにアクセスしないのですか?「マシンを再起動するだけ」の方がはるかに簡単であり、それでも再起動が必要な場合、OPの問題をどのように解決したかわかりません。
ニックハートリー

691

これには、Windows 7、8、および10に組み込まれているリソースモニターを使用できます。

  1. 開くことができる リソースモニターを開く
    • [スタート]メニューでリソースモニターまたはresmon.exeを検索するか 、または
    • タスクマネージャーの [ パフォーマンス ]タブのボタンとして
  2. [ CPU ]タブに移動します
  3. [ 関連付けられたハンドル]セクションの 検索フィールドを使用します
    • 以下のスクリーンショットの青い矢印を参照してください

ハンドルが見つかったら、画像またはPID列、あるいはその両方を見てプロセスを特定できます。

その後、通常どおりにアプリケーションを閉じることができます。または、それが不可能な場合は、ハンドルを右クリックして、そこから直接プロセスを強制終了します。簡単!

リソースモニターのスクリーンショット


18
注:私の場合、リソースモニターは関連するハンドルを見つけられませんでしたが、プロセスエクスプローラー(上記の説明を参照)は見つけました。
ComFreek

15
@ComFreekまあ、ProcessExplorerは多くの場合により強力かもしれませんが、私にとってリソースモニターは、私が何かをしようとしているファイルをロックしているアプリケーションを常に見つけています。また、OS内にあるという理由だけで、Process Explorerよりも好みます。どこかで追加のダウンロードや追加のショートカットは必要ありません。
2014年

8
Process Explorerでこれを見つけることができませんでしたが、Resource Managerでこれらの指示を見つけるのは簡単でした。ありがとう。
タチアナラチェバ14

6
@ComFreek私の場合は、もう1つのケースでした。ProcessExplorerはハンドルを見つけられませんでしたが、Resource Monitorは見つけました。
ウーヴェ・ケイム

9
1 -これはまた、Windows 10上で正常に動作します
マット・イネス

390

いくつかのオプション:

Microsoft / SysInternals Process Explorer- [検索]> [ハンドルまたはDLLの検索]に移動します。[ハンドルまたはDLLのサブストリング:]テキストボックスに、ファイルへのパス(「C:\ path \ to \ file.txt」など)を入力し、[検索]をクリックします。そのファイルへの開いたハンドルを持つすべてのプロセスがリストされます。

WhoLockMe-右クリックメニューオプションを追加するエクスプローラ拡張

NB WhoLockMeは、Win 10では動作しないようです(少なくとも、32ビットまたは64ビットバージョンのregsvr32.exeで登録することができませんでした)。


26
あなたがロックされているファイルを削除しようとする場合、Windows 7では、エラーメッセージは、プロセスがロックしていることを教えてくれます
ギャリー英語

10
注:慎重でない場合、Unlockerはアドウェアをインストールします。彼らのウェブサイトから:「プロモーション機能:完全にオプションのデルタツールバー」。
ジュリアンナイト

11
なんらかの理由で@GarryEnglishは必ずしもそうではありません。procexpを使用して、notepad ++がフォルダーをロックしていることを通知する必要がありました。Windows 7は、犯人を教えてくれませんでした。
GuiSim

4
@ jpmc26いいえ。WhoLockMeはWindows 7では動作しません。
14年

3
@ GarryEnglish- GuiSimが述べたように、これは常にそうであるとは限らず、私の経験では、ほとんどそうではありません。
dgo

196

Process Explorerprocexp.exe)をご覧ください。

その導入から:

どのプログラムが特定のファイルまたはディレクトリを開いているのか疑問に思ったことはありませんか?今、あなたは見つけることができます。

特定のファイルを使用しているプロセスを確認するには、次の手順を実行します。

  1. [ 検索]、[ ハンドルの検索]または[DLL]に移動するか、単にCtrl+を押しFます。

    ここに画像の説明を入力してください

  2. ファイルの名前を入力し、検索を押します。

    ここに画像の説明を入力してください

  3. Process Explorerは、開いているファイルへのハンドルを持つすべてのプロセスをリストします。エントリをクリックして、メインウィンドウでプロセスにフォーカスします。

    ここに画像の説明を入力してください

  4. オプションで、下のペイン(Ctrl+ L)から手動でハンドルを閉じることもできます。

    ここに画像の説明を入力してください


6
Process Hackerでもできます。
ブノワ

5
別の答えは言及し、ハンドルはまた、このタスクを達成しますSysinternalsのコマンドラインツールです。
13

フォルダーでcmdプロセスを開くのを忘れてしまったので、プロセスエクスプローラーで気づくことができました。
davejal

Google社員に注意してください、PEの現在のバージョンは、もはやサポートするために、表示されません閉じるハンドルを
MickyD

Win10 64ビット1709
K7AAY

30

LockHunterは、ファイルまたはフォルダーをロックした可能性のあるハンドラーをロック解除できます。同様のフリーウェアとは異なり、32ビットと64ビットの両方のWindowsをサポートしています。

あなたが知らない何かによってブロックされたファイルを削除する無料のツールです。LockHunterは、マルウェアや、理由なくファイルをブロックしている他のプログラムとの戦いに役立ちます。他の同様のツールとは異なり、ファイルをごみ箱に削除するため、誤って削除した場合に復元できます。

  • ファイルまたはフォルダーをロックしているプロセスを表示します
  • ロックされたファイルのロック解除、削除、コピー、または名前変更が可能
  • ロックプロセスを強制終了できます。
  • ロックプロセスをハードドライブから削除できます
  • Explorerメニューに統合します
  • ファイルをごみ箱に削除するため、誤って削除した場合は復元できます
  • 32ビットと64ビットの両方のWindowsをサポート

5
上の2つの答えはうまくいきませんでした。次の投票された答えは、ファイアウォールでブロックされたか、クロムで行かないように警告されました。LockHunterは完璧に機能しました。
user3885927

1
幸運のハンターは、他の人がいなかったときに私のために働いていた
SheldonH

これは動作します。
jdhao

10

EMCO UnlockITは、ファイルをロック/ロック解除したプロセスを識別し、ファイルのロックを解除して、ユーザーが削除/編集/移動できるようにします。このプログラムは完全に無料ですが、新しいバージョンはオリジナルよりも少し遅く、肥大化しています(プレーンでスキンのないGUIがありますが、ほとんど瞬時にロードされ、面倒なスプラッシュスクリーンはありません)。また、言及したエラーがトリガーされるたびに元のバージョンが自動的にポップアップ表示されるため、ファイルをすぐにロック解除して、試行した操作を実行できます。

それでも、UnlockITは非常に有用なプログラムであり、Windowsには非常に欠けている基本的な機能を提供します。これは、作業するすべてのWindowsコンピューターにインストールするユーティリティの標準ツールキットの1つです。


@ジョン:まあ、それはファイルをロックしたプログラムを識別します。また、タスクマネージャーを使用してプロセスを手動で強制終了することもできます。ただし、通常はファイルをロックしたプロセスを強制終了するのではなく、ファイルをロック解除する方が簡単です(特に、エクスプローラーがほとんどの時間ファイルをロックしている場合)。プログラムの不具合による)。
リースマジェステ

2

これが私の発見と解決策です。

ちなみに、上記の回答のいずれも私の問題を解決しませんでした。

価値のないことがわかったUNLOCKERを使用してみました。

私の問題はMemeo Autosync Backupの問題でした

どうやら、このバックアッププロセスでは、十分な「ゴーストのようなファイル」が残ります。この「ゴーストのようなファイル」は、コンピューター(Windows Professional XP)をAltキーを押しながらTabキーを押すたびに表示されます。

SYMANTEC Endpoint(Anti-Virus)Protectionである可能性があると思ったときに、このソリューションに出会いました。プログラムを無効にしました。ただし、次のエラーメッセージが引き続き表示されます。

削除できません(LARGE.xlsファイル):他の人またはプログラムによって使用されています。このファイルを使用している可能性のあるプログラムをすべて閉じて、再試行してください。

私はその後Memeoの「同期」の通知を見続け、プログラムを終了しました。

その後、エラーなし。

あなたにとっては、これらのバックグラウンド保存のどれでも可能です。


2

プログラムが使用しているファイルがわからない場合は、[マイコンピュータ]に移動できます。右クリック; 管理を選択します。[システムツール]> [共有フォルダー]> [ファイルを開く]で、ファイルをロックしたユーザーを確認できるはずです。ここからファイルを閉じてから、ファイルの名前変更または削除のタスクを実行できます。お役に立てれば


1
これは共有フォルダーに対してのみ機能します。
sweetfa

1

追加の可能性、ちょうど私が過ごした時間を人々に保存するために:

古いバージョンのWindowsでは、「アクセスが拒否されました-権限がないか、ファイルが使用されている可能性があります」と表示される場合があります。Process Explorerを介して、実際にはファイルが誰にも開かれていないことがわかった場合、セキュリティに問題がある可能性があります。管理者アカウントを使用して、エクスプローラーでファイルを選択し、右クリックして[プロパティ]、[セキュリティ]、[詳細設定]、[所有者]を選択します。奇妙なことに、ファイルは、Active Directoryの信頼設定を変更したために、もはや存在しないか、存在が確認できないアカウントによって所有されています。

所有権を管理者に変更すれば、準備完了です。


0

ここのプログラムの多くは時代遅れです。最終的に、nirsoftのOpenedFilesViewを使用することになりました。

スクリーンショット

最良の部分は、簡単に有効にできるエクスプローラメニューの統合です。ウェブサイトごとに

エクスプローラーのコンテキストメニュー

バージョン1.10以降では、WindowsエクスプローラーからOpenedFilesViewを直接起動し、検査するファイルまたはフォルダーのハンドルのみを表示できます。この機能を有効にするには、[オプション]メニューの[エクスプローラーコンテキストメニューを有効にする]をオンにします。この機能を有効にした後、Windowsエクスプローラーで任意のファイルまたはフォルダーを右クリックし、メニューから「OpenedFilesView」項目を選択できます。フォルダーに対してOpenedFilesViewオプションを実行すると、そのフォルダー内で開かれているすべてのファイルが表示されます。ファイルに対してOpenedFilesViewオプションを実行すると、そのファイルに対して開かれているすべてのハンドルが表示されます。

コンテキストメニュー

このツールは2019年も引き続き確実に動作します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.