web-dev-qa-db-ja.com

Windowsでファイルまたはフォルダをロックしているプロセスを特定する

Windowsでファイルまたはフォルダをロックしているプロセスを確認する方法はありますか。

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

フォルダが別のプログラムで開かれているため、操作を完了できません

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

668
leeand00

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のファイルやフォルダをロックしているかを調べる方法

54
frank

これにはリソースモニタを使うことができます。これはWindows 7、8、10で組み込みになります。

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

ハンドルを見つけたら、ImageやPIDの列を見てプロセスを識別できます。

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

Resource Monitor screenshot

625
Svish

いくつかのオプション:

Microsoft/SysInternals Process Explorer - [検索]> [ハンドルまたはDLLの検索]の順にクリックします。 [ハンドルまたはDLL部分文字列:]テキストボックスに、ファイルへのパス(例: "C:\ path\to\file.txt")を入力して[検索]をクリックします。そのファイルへのオープンハンドルを持つすべてのプロセスが一覧表示されます。

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

N.B。WhoLockMeはWin 10では動作しないようです(少なくとも32ビット版または64ビット版のregsvr32.exeには登録できませんでした)。

383
Shevek

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

その紹介から:

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

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

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

    Enter image description here

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

    Enter image description here

  3. プロセスエクスプローラは、開いているファイルへのハンドルを持つすべてのプロセスを一覧表示します。エントリをクリックすると、メインウィンドウにプロセスが集中します。

    Enter image description here

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

    Enter image description here

191
Eroen

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

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

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

EMCO UnlockIT を使用すると、ファイルをロック解除したプロセスだけでなく、ファイルを削除/編集/移動することもできます。このプログラムは完全に無料だが、新しいバージョンは元のもの(ちょっとした手つかずのGUIは持っているが、ほとんど瞬時にそして迷惑なスプラッシュスクリーンなしにロードされた)よりも少し遅くて肥大している。また、元のバージョンでは、前述のエラーが発生したときに自動的にポップアップ表示されるため、ファイルのロックを解除して、実行しようとしていた操作を実行できます。

それでも、UnlockITはWindowsから欠けている基本的な機能を提供する非常に便利なプログラムです。私が仕事をしているすべてのWindowsコンピュータにインストールするのは、ユーティリティの標準ツールキットの1つです。

10
Lèse majesté

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

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

私はUNLOCKERを使ってみても価値がありませんでした。

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

どうやら、このバックアッププロセスでは十分な "ゴーストライクファイル"が残ります。この「ゴーストのようなファイル」は、私が自分のコンピュータ(Windows Professional XP)をALT-TABするとき、すなわちタスクバー上に1つしか見えないときに2つのMS Excelプログラムが実行されているときに表示されます。

私はそれがSYMANTEC Endpoint(Anti-Virus)Protectionであるかもしれないと思ったとき私はこの解決策に出会いました。そしてプログラムを無効にした。しかし、私はエラーメッセージを受け取り続けました:

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

私はその後Memeoの "同期"の通​​知を見続けてプログラムを終了した。

その後、エラーなし。

あなたにとって、それはこれらの背景保存のどれでもあるかもしれません。

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

2
Rajesh

私が今費やした時間を節約するための追加の可能性

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

所有権を管理者に変更してください。

1
Stu