Windows10で使用中のため削除や移動ができないファイルを調査する方法

Windows10で使用中のため削除や移動ができないファイルを調査する方法

Windows10を利用していて、ファイルやフォルダーを削除や移動しようとしたとき、使用中のため削除や移動ができないとエラーが表示されることがあります。

このような場合、自分が開いているアプリやフォルダー、ファイルが原因であれば、それらを閉じることで操作できるようになりますが、そうでない場合は、どのアプリやユーザーがファイルやフォルダーを開いているか、ぱっと見では判断できません。

そのようなときは、openfilesコマンドを利用することで、削除や移動ができないファイルやフォルダーが、どのアプリ(プロセス)やユーザーによって使用されているかを調査することができます。

そこでここでは、Windows10でのopenfilesコマンドの使い方を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows10 Pro 64bit2004

事前準備

「openfiles」コマンドを利用するには、事前準備が必要です。

まず、管理者権限でコマンドプロンプトを起動してopenfilesコマンドを実行すると、次のようなメッセージが表示されます。

Windows10で使用中のため削除や移動ができないファイルを調査する方法

表示されているメッセージにあるように、openfilesコマンドを利用して開いているファイルやフォルダーの情報を取得するには、システムグローバルフラグ「maintain objects list」をオンにする必要があります。

「maintain objects list」をオンにするには「openfiles /local on」と実行し、表示されるメッセージに従ってWindows10を再起動します。

Windows10で使用中のため削除や移動ができないファイルを調査する方法

これで、openfilesコマンドを使って、開いているファイルやフォルダーの情報を取得できるようになります。

なお「maintain objects list」をオンにすると、システムのパフォーマンスが低下する可能性があるので、パフォーマンスへの影響を抑えたい場合は、必要なときだけオンにして、必要がなくなったら「openfiles /local off」と実行し「maintain objects list」をオフにしておきましょう。

開いているファイルを確認する

上の事前準備ができたら、改めて管理者権限でコマンドプロンプトを起動して、openfilesコマンドを実行すると、現在ローカルマシン上で開いているファイルやフォルダーの一覧と、リモートから開かれているファイルやフォルダーの一覧が表示されます。

Windows10で使用中のため削除や移動ができないファイルを調査する方法

一覧には、ファイルやフォルダーを識別するための番号、ファイルやフォルダーを開いているプロセス名、開いているファイルやフォルダーのパスが表示されているので、どのプロセスがどのファイルやフォルダーを開いているかを確認できます。

なお「開いているファイル」欄の表示は、一部が「..」と表示され省略されていますが、省略せずに表示したい場合は「openfiles /query /v」と実行すれば、省略せずに表示できます。

Windows10で使用中のため削除や移動ができないファイルを調査する方法

開いているファイルを強制的に閉じる

openfilesコマンドでは、開いているファイルやフォルダーを強制的に閉じることもでき、その際は「openfiles /disconnect」を実行します。

下の例では識別番号「ID」が「64」のファイルを強制的に閉じています。

Windows10で使用中のため削除や移動ができないファイルを調査する方法

上の例では、識別番号で閉じていますが、それ以外にもユーザー名やファイル名などを指定して閉じることもできるので、詳しくはコマンドのヘルプ(「openfiles /disconnect /?」と実行すると表示されます。)を参照してみてください。

あとがき

openfilesコマンドでは、ローカルマシンの開かれているファイルやフォルダーを確認するだけでなく、リモートマシンの共有リソースの使用状況も確認できます。

ご活用あれ。

記事が役立ったらシェアしてくれるとうれしいです。