How To

「別のプロセスがファイルを使用しているため、プロセスはファイルにアクセスできません」というエラーを解決する方法

February 13, 2026 1 分で読む Updated: February 13, 2026

アプリを実行またはインストールしようとすると、「ファイルが別のプロセスで使用中」というイライラするエラーに遭遇することがあります。作業が滞り、どのプロセスが原因なのか必ずしも明確ではないため、非常に厄介です。このエラーは、アプリのインストール中、コードのコンパイル中、あるいはIISでウェブサイトを起動しようとしているときによく発生します。主な問題は、別のプロセスがファイルをロックしているため、現在のタスクがファイルにアクセスできないことです。この問題を解決するには、通常、そのプロセスを見つけて終了させる必要がありますが、言うは易く行うは難しです。幸いなことに、ファイルを人質に取っている原因を追跡するための組み込みツールやメソッドがいくつかあります。

Windowsで「ファイルが使用中です」というエラーを修正する方法

リソースモニターを使用して確認する

エラーメッセージにブロックされているファイルが記載されている場合、これは非常に便利です。シャーロック・ホームズのように、ファイルを占有しているプロセスを追跡できます。基本的には、Windowsのリソースモニターを使ってハンドルを調べ、そのファイルを占有しているプロセスを確認します。環境によっては、この方法はうまくいかないこともあります。ファイルとプロセスがすぐに表示されることもあれば、少し待たされることもあります。

  • を押してWindows + R、 と入力しresmon.exe、 を押しますEnter
  • まだ CPU タブに切り替えていない場合は、CPUタブに切り替えます。
  • 「関連ハンドル」の横にある三角形をクリックして展開します。
  • 「検索ハンドル」というラベルの検索ボックスにファイル名を入力してください。ファイルが表示されれば問題ありません。表示されない場合は、何か他の要因によってロックされているか、現在使用されていない可能性があります。
  • ハンドルを右クリックし、[プロセスの終了]を選択します。
  • その後、ファイルのロックが解除され、次回アプリがアクセスできるようになります。

ただし、この方法でプロセスを終了すると、重要なプロセスが終了してしまう場合があることに注意してください。そのため、強制終了する前に、どのプロセスが実行されているかを再確認することをお勧めします。

関連するプロセスまたはアプリを閉じる

エラーメッセージにファイル名がない場合、またはどのプロセスが問題の原因になっているのかわからない場合は、まずファイルを使用している可能性のあるアプリをすべて閉じてください。ここでのポイントは、最近使用したアプリやロックされている可能性のあるバックグラウンドプロセスについて考えることです。タスクマネージャーを使用すると、現在実行中のものが表示されるため、通常は最も速い方法です。

  • 押すCtrl + Shift + Escとタスク マネージャーが開きます。
  • プロセスを整理し、実行しようとしているタスクに関連しそうなものを探します。例えば、ゲームをインストールしたりサーバーを実行したりしている場合は、まずそれらのアプリを閉じましょう。
  • アプリまたはプロセスをクリックし、「タスクの終了」をクリックします。

ご注意:設定によっては、アプリが完全に終了しない場合があります。特に、アプリがハングアップしたりバックグラウンドで停止したりしている場合は、その可能性が高くなります。正常に終了しない場合はPCの再起動が必要になる場合もありますが、目に見えるアプリを終了するだけで問題が解決する場合もあります。

アプリケーションまたはプロセスを管理者として実行する

ファイルが使用中になっている場合、現在のユーザーに十分な権限がないことが原因である可能性があります。アプリを管理者として実行すると、ロックやシステムプロセスによるロックをオーバーライドするために必要なアクセス権が付与されます。コマンドライン操作中にエラーが発生する場合は、この手順を省略せずに、管理者特権のコマンドプロンプトまたはPowerShellを使用してください。

注: PowerShell または CMD でコマンドを実行する場合は、アイコンを右クリックし、[管理者として実行]を選択します。

アプリを管理者として実行するには、アイコンを右クリックし、「管理者として実行」を選択します。IISなどのサービスやWebサーバーの場合は、昇格した権限で起動すると、残っている権限の問題が解決することがあります。

さらに、プロセスの優先度を「高」に設定してみるのも良いでしょう。

  • タスク マネージャーを開きます。
  • 詳細タブに移動します。
  • 問題となっているプロセスまたはアプリを見つけます。
  • それを右クリックし、[優先度の設定]を選択して、[高]を選択します。

これは万能ではありませんが、アクセスの問題を引き起こすリソースの競合を未然に防ぐのに役立つ場合があります。ただし、優先度の高いプロセスを多すぎるとシステムの速度低下を引き起こす可能性があることを覚えておいてください。これはバランスを取る行為です。

セーフモードとネットワークで再インストールする

インストール中にエラーが発生した場合、特にRobloxやEscape from Tarkovなどのアプリでエラーが発生する場合は、セーフモードでインストールすることで問題が解決する可能性があります。そのためには、セーフモードとネットワークで再起動する必要があります。これにより、Windowsは最小限のドライバーで起動され、インストールやトラブルシューティングを行うためのクリーンな環境が得られます。

  1. を押してWindows + Rmsconfigと入力し、Enter キーを押します。
  2. システム構成ウィンドウで、ブートタブに移動します。
  3. [セーフ ブート][ネットワーク]の横にあるボックスをオンにします。
  4. 「適用」をクリックし、「OK」をクリックします。プロンプトが表示されたら再起動してください。

セーフモードで起動したら、再インストールをお試しください。インストールをブロックするファイルやプロセスの中には、セーフモードでは実行できないものがあります。インストール後、msconfigに戻ってセーフブートのチェックを外し、通常の Windows に戻すことを忘れないでください。

ウイルス対策ソフトまたはWindows Defenderを一時的に無効にする

これは一種の賭けですが、ウイルス対策ソフトはスキャン中のファイルをロックしたり、正規のアプリファイルに対して異常な反応を示したりすることがあり、スキャンプロセスに支障をきたすことがあります。リアルタイム保護を一時的に無効にすることで、セキュリティソフトが本当に問題なのかを確認することができます。ただし、その後は必ず有効に戻すことを忘れないでください。

  1. 実行ダイアログ ( Windows + R) を開き、windowsdefender:と入力して を押しますEnter
  2. [ウイルスと脅威の防止]をクリックします。
  3. [設定の管理]を選択します。
  4. リアルタイム保護を無効にします。

サードパーティ製のウイルス対策ソフトをご利用の場合は、設定を確認し、リアルタイムスキャンを一時的に無効にしてください。ただし、注意を怠らず、長時間ウイルスに感染したままにしないでください。

作業が完了したら、保護を再度有効にします。

ネットワーク設定をリセットする

ネットワークポリシーや共有リソースが絡み合っていると、ネットの問題によってファイルアクセスが妨げられることがあります。ネットワーク設定をリセットすれば、すべてをデフォルトに戻すことができます。Wi-FiのパスワードやVPNの設定などが失われるため、少々強引な方法ですが、多くの場合、正常なアクセスが回復します。

  1. 押すWindows + Iと設定が開きます。
  2. [ネットワークとインターネット]に移動し、[詳細なネットワーク設定]を選択します。
  3. ネットワークリセットをクリックします。
  4. 「今すぐリセット」をクリックしてください。しばらくすると PC が再起動します。

リセット後、ネットワークに再接続して問題が解決したかどうかを確認してください。特に共有環境では、ネットワークの不具合によりファイルのロックやアクセスエラーが発生することがあります。

IIS マネージャーとポートの修正

競合するポートを使用しているプロセスを閉じる

IIS で Web サイトを起動しようとして、ポートが既に使用されているというエラーが表示される場合は、別のプロセスが既にポート 80 または 443 をリッスンしていることが考えられます。Windows の netstat コマンドを使用すると、これらのポートを占有している原因を特定できます。

  1. コマンド プロンプトを管理者として開きます。 を押してWindows + Rと入力しcmd、 を押しますCtrl + Shift + Enter
  2. 入力netstat -ano | findstr :80して Enter キーを押します。
  3. 出力が表示されたら、末尾の数字をメモします。それが PID です。
  4. タスク マネージャーを開き、[詳細]に移動して、その PID を持つプロセスを見つけます。
  5. 右クリックして、[タスクの終了]を選択します。

必要に応じてポート443についても繰り返してください。これでスロットが解放されるはずです。

デフォルトのIISポートを変更する

プロセスを停止しても問題が解決しない場合、またはプロセスが動かない場合は、IIS に 8081 や 8443 などの別のポートを使用するように指示できます。これにより、多くの場合、競合を回避できます。

  1. IIS マネージャーを開きます。
  2. 左側のパネルでサーバーを展開し、「サイト」をクリックします。
  3. [既定の Web サイト]を右クリックし、[バインドの編集]を選択します。
  4. リストで、ポート 80 または 443 のバインディングを選択し、[編集]をクリックします。
  5. HTTPの場合は8081、HTTPSの場合は8443などに変更します。「OK」をクリックして確定します。
  6. すべてのダイアログを閉じて、サイトをもう一度起動してみてください。

デフォルトの HTTP アドレスのレジストリを変更する

レジストリ設定がネットワークインターフェースに影響し、IIS が起動しなくなることがあります。注意点として、レジストリを変更するのは危険です。レジストリキーの編集に慣れていない限り、まずはバックアップを作成してください。

  1. コマンド プロンプトを管理者として開きます ( を押してWindows + Rと入力しcmd、管理者として実行します)。
  2. HTTP サービスを停止します:net stop HTTPプロンプトが表示されたら、Yで確定します。
  3. レジストリ エディターを開きます。regedit[実行] ボックスに入力して Enter キーを押します。
  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyListに移動します。
  5. そのようなキーが存在しない場合は問題ありません。デフォルト設定で問題ないと思われます。存在する場合は、IPアドレスを右クリックし、0.0.0.0以外のエントリを削除してください。
  6. クリーンアップしたら、レジストリを終了し、HTTP サービスを再起動しますnet start HTTP

これにより、IIS のリスニング競合が解消されることが多いです。繰り返しますが、システムの奥深くまで踏み込んでいるので、ご注意ください。

これらの方法が問題解決のお役に立てば幸いです。機種によっては、1つの修正ですぐに効果が出る場合もあれば、複数の修正を組み合わせる必要がある場合もあります。少し面倒ではありますが、一度コツをつかんでしまえば、プロセスやポートの追跡はそれほど難しくありません。トラブルシューティングの成功をお祈りします!