共有フォルダ内のエクセルを更新しようとしたり、バッチ処理でファイルを上書きしようとしたりした際、「別のプログラムがこのファイルを開いているため、操作を完了できません」というエラーに阻まれることがあります。
急いでいるときにこれが出ると本当に困りますよね。
今回は、サードパーティ製のツールを一切使わず、Windowsに標準搭載されている機能だけで「今、そのファイルをロックしている犯人(ユーザーやプログラム)」を特定する方法を解説します。次回エラーが起きたときのために、ぜひブックマークしておいてください!
🔎 チェック場所1:誰が開いている?を特定する「共有フォルダ」
もしエラーが起きている場所が「ファイルサーバー」や「ネットワーク経由の共有フォルダ」である場合、管理ツールの「コンピューターの管理」から、現在進行形でファイルを開いているユーザー(接続元)を瞬時に特定できます。
🛠️ 確認手順
-
サーバー(または共有元PC)で 「コンピューターの管理」 を開きます(スタートボタンを右クリック、または
compmgmt.mscを実行)。 -
左側のツリーメニューから、[システムツール] ➔ [共有フォルダ] ➔ [開いているファイル] の順にクリックします。
-
画面中央に、現在ネットワーク経由で開かれているファイルの一覧がズラリと表示されます。
✨ ここがメリット!
ここを見れば、「誰が(ユーザー名)」「どこから(IPアドレスやコンピューター名)」「何のファイルを開いているか」が丸見えになります。 さらに、対象のファイルを右クリックして「開いているファイルを閉じる」を実行すれば、サーバー側から強制的にロックを解除して上書きできるようにすることも可能です。(※相手が編集中の場合はデータが消える可能性があるので声掛けは必須です!)
🔎 チェック場所2:何のプログラムが掴んでる?を特定する「リソースモニター」
「ネットワーク共有ではなく、自分のPC(ローカル)内のファイルがロックされている」「ユーザーではなく、バックグラウンドで動いている『プログラム(プロセス)』がファイルを掴みっぱなしにしている」という場合は、リソースモニターの出番です。
🛠️ 確認手順
-
タスクマネージャーを開き、[パフォーマンス] タブの最下部などにある 「リソースモニターを開く」 をクリックします(または
resmonを実行)。 -
[CPU] タブを選択します。
-
画面真ん中あたりにある [関連付けられたハンドル] というメニューを展開(クリック)します。
-
検索ボックスに、ロックされて動かない「ファイル名」や「フォルダ名」の一部を入力します。
-
検索結果に、そのファイルを現在進行形でガッチリ掴んでいる「プロセス名(例:
excel.exeやjava.exeなど)」と、そのプロセスID(PID)が表示されます。
✨ ここがメリット!
タスクマネージャーを眺めているだけでは絶対に分からない、「裏でゾンビのように生き残ってファイルを掴み続けているバックグラウンドプロセス」をピンポイントで特定できます。原因となっているプロセスを右クリックして「プロセスの終了」を行えば、即座にファイルが解放されて上書きできるようになります。
📝 まとめ:次回エラーが出たらこの2つを叩く!
ファイルのロックエラーは、当てずっぽうでパソコンを再起動したり、怪しいアプリを片っ端から閉じたりしても時間の無駄になってしまいます。
-
ネットワーク越しなら ➔
コンピューターの管理➔共有フォルダ➔開いているファイルをチェック! -
ローカル・システム内なら ➔
リソースモニター➔関連付けられたハンドルでファイル名検索!
Windows標準のこの2つの強力な調査方法さえ覚えておけば、次回上書きエラーに遭遇しても、慌てず数秒でスマートに原因を特定して解決できるようになりますよ!
