Windowsでファイルをコピーする際に発生する0x800704C8エラーの解決方法

Windowsでファイルをコピーする際に、あの厄介なエラーに悩まされていませんか?確かに、ちょっと変ですよね。特に、Windowsがファイルが使用中であるというメッセージを表示したり、「ユーザーマップされたセクションが開いているファイルに対して、要求された操作を実行できません」というエラーコード0x800704C8を表示したりすると、なおさらです。このメッセージは、目に見えなくても、何らかのプロセスやアプリケーションがまだファイルを占有していることを示しています。これは、特に負荷の高いアプリケーションを実行している場合や、バックグラウンドプロセスがファイルを占有している場合に、想像以上に頻繁に発生します。場合によっては、単にアクセス許可の不具合や、サードパーティ製アプリケーションがファイル操作を妨害しているだけかもしれません。

この問題を解決するのは必ずしも簡単ではありません。原因は数十種類にも及ぶ可能性があるからです。アクセス許可、所有権、破損したシステムファイル、あるいは悪質なプロセスがファイルをロックしている場合もあります。幸いなことに、毎回頭を抱えたり、再起動したりすることなく、この問題を解決するためのいくつかの方法があります。手動による修正と自動化ツールを組み合わせることで、この問題を解決できます。ある環境では所有権を取得した後に解決しましたが、別の環境ではウイルス対策ソフトを無効にすることが鍵でした。Windowsはいつも物事を複雑にするんですよね?

Windowsでファイルをコピーする際に発生する「ファイルが使用中です」エラーを修正する方法

解決策1:ファイルとフォルダーのトラブルシューターを実行する

  • Microsoftの公式ページからファイルとフォルダーのトラブルシューターをダウンロードしてください。Windowsの修復ツールを使えば、ファイルをロックしている不正なプロセスを特定できる場合があります。
  • トラブルシューターを開き、「詳細設定」をクリックして、 「修復を自動的に適用する」のチェックボックスをオンにします。「次へ」をクリックします。
  • 発生している具体的な問題(例:「ファイルが使用中です」)を選択し、スキャンを実行してください。修正が完了したら、もう一度ファイルをコピーしてみてください。場合によってはすぐに解決しますが、手動での代替手段が必要になることもあります。

解決策2:ウイルス対策ソフト/サードパーティ製セキュリティソフトを無効にする

ちょっと奇妙な話ですが、アンチウイルスソフトやセキュリティツールが、不審な操作だと判断してファイル操作をブロックしてしまうことがあります。サードパーティ製のアンチウイルスソフトを使用している場合は、一時的に無効にしてから再度コピーを試してみてください。それで問題が解決すれば、原因はそのセキュリティソフトにある可能性が高いです。ただし、注意が必要です。無効にすることで問題が解決する場合は、アンインストールするか設定を変更して、干渉しないようにすることを検討してください。環境によっては、この方法で簡単に解決でき、多くの手間を省くことができます。

解決策3:ファイルの所有権を取得する

  • コピーしたいファイルまたはフォルダを右クリックし、「プロパティ」「セキュリティ」タブを選択します。
  • 「グループとユーザー」で、ユーザーアカウントに「フルコントロール」権限が付与されているか確認してください。付与されていない場合は、「編集」をクリックしてユーザー名を選択してください。
  • 「フルコントロール」の横にある「許可」にチェックを入れます。「適用」をクリックしてから、もう一度コピーを試してください。これは、システムまたは他のユーザーがファイルの所有者である場合でも、アクセスしてファイルを移動する必要がある場合に有効な方法です。

解決策4:SFCとDISMを使用してシステムファイルを修復する

システムファイルが破損していると、特にWindowsが自身を保護しようとしたり、システムファイルを不適切に処理したりする場合、ファイル操作がブロックされる可能性があります。コマンドプロンプトを管理者として実行し([ Windowsターミナル(管理者)]または[コマンドプロンプト(管理者)Win + X ]を選択)、以下を入力します。

sfc /scannow

これは破損したファイルをスキャンし、修復を試みます。エラーが発生した場合、または何も変化がない場合は、DISM コマンドを実行して基となるイメージを修復してください。

DISM /Online /Cleanup-Image /CheckHealth DISM /Online /Cleanup-Image /ScanHealth DISM /Online /Cleanup-Image /RestoreHealth

その後、再起動してもう一度試してください。理由は不明ですが、一部のマシンではSFCだけでは不十分で、DISMを実行することで根本的な問題が解決される場合があります。

解決策5.Visual Studioまたはその他のプログラムを管理者として実行する

Visual Studio などで開いているプロジェクト内のファイルを移動しようとすると、管理者権限が不足している可能性があります。Visual Studio を閉じてから、実行ファイル ( VisualStudio.exe ) を右クリックし、[プロパティ] > [互換性]を選択して、[このプログラムを管理者として実行する] にチェックを入れてください。この設定を適用すると、Windows がファイルの移動や編集に必要な権限を付与します。権限がロックアウトされているような特殊な状況でない限り、これだけで解決する場合もあります。

解決策6.Windowsコンポーネントとネットワーク設定をリセットする

これは最終手段に近いですが、Windowsコンポーネントをリセットすることで、隠れたプロセスのハングアップを解消できる場合があります。コマンドプロンプトを管理者として開き、以下のコマンドを1つずつ実行し、それぞれ実行後にEnterキーを押してください。

net stop bits net stop wuauserv net stop appidsvc net stop cryptsvc Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\*.*" rmdir %systemroot%\SoftwareDistribution /S /Q rmdir %systemroot%\system32\catroot2 /S /Q regsvr32.exe /s atl.dll regsvr32.exe /s urlmon.dll regsvr32.exe /s mshtml.dll netsh winsock reset netsh winsock reset proxy net start bits net start wuauserv net start appidsvc net start cryptsvc 

上記の手順をすべて完了したら、システムを再起動してください。これにより、ファイルアクセスを妨げている可能性のあるシステムコンポーネントやネットワークスタックの残存問題を解決できる場合があります。

もちろん、すべての解決策が一度でうまくいくとは限りません。所有権を取得した後やウイルス対策ソフトを無効にした後に再起動するだけで、状況が劇的に改善することもあります。また、Windowsのセキュリティやバックグラウンドプロセスは少々厄介で、試行錯誤が必要になる場合があることも忘れてはなりません。

関連記事: