この記事のまとめ
- NASからマウントしたフォルダ内のフォルダを移動しようとしたとき「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」と怒られる
- どうやらThumbs.dbというサムネイルのデータベースの再構成が悪さをしている
- 設定からThumbs.dbの再構成を停止することで解決する
はじめに
Windowsでフォルダを移動しようとしたとき、絶対に自分では開いていないのに「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」と怒られて移動できない現象に遭遇しました。
複数のフォルダ(数十フォルダ)で同様の現象が起きていて困ってしまい......。
そんなときの対処の備忘録です。
考えられる原因
意図的にフォルダを開いていないとしても、内部的なプログラムがフォルダやファイルを開いている可能性は考えられます。よく考えられるのは、セキュリティソフト等ですね。
このようなバックグラウンドで動作しているプログラムを調べるために、リソースモニターを利用して調査することができます。フォルダを使っているプロセスを特定できたら、プロセスを終了してフォルダを移動してあげましょう。
参考リンク:
https://qiita.com/ponponpoko/items/55afecd0281f371d00a4
私のケースでは、explorer.exeが開いていたり開いていなかったりするくらいで、これといった一貫性がなく、さらに困りました。
また、この作業を数十のフォルダに対して行うのはとても骨が折れる......。
そんな中目についたのが、explorer.exeが開いていたThumbs.db
というファイルでした。
原因はThumbs.dbの更新
私の今回の場合の原因は、Thumbs.dbというファイルがexplorer.exeによって開かれていることでした。
Thumbs.dbはWindowsのエクスプローラ上でファイルのサムネイルを保存するデータベースです。
なんらかの要因でこの生成が不完全になっていると、フォルダを選択した場合にexplorer.exeによるサムネイル生成の処理が走ってしまい、「プログラムによって開かれている」という扱いになってしまうようでした。
リソースモニターで調べた場合にexplorer.exeが開いていたり開いていなかったりしたのは、調べている間にサムネイル生成が終わっている場合・終わっていない場合があり、それにより表示されたりされなかったりしたのだろうと考えられます。
対処
対処法としてよく知られているのは、「適当な画像を該当フォルダに一旦保存してThumbs.db
を再生成する」というもののようでした。たしかにこの方法でThumbs.db
を再生成することにより、フォルダを移動することができました。
また、自分が個人的にうまくいくと思った方法は、フォルダを開いて表示形式をアイコン(大)にすることでサムネイルを強制的に表示させ、Thumbs.db
を再構成させる方法です。
しかし、私のケースでは数十件のフォルダの移動を試みていたこともあり、上記方法では時間がかかり過ぎてしまいます。
Thumbs.dbを更新させないようにする
このような場合の解決ですが、Windowsの設定でサムネイルを表示しない設定にすることで、Thumbs.db
の更新を行わないようにできるようです。
方法は下記の通りです。
コントロールパネルを開く
お好きな方法でコントロールパネルを開いてください。Windows+Rの検索画面から、controlと入力して開くのが早いと思います。
システムとセキュリティを開く
システムを開く
システムの詳細設定を開く
パフォーマンス「設定」を開く
設定の「アイコンの代わりに縮小版を表示する」のチェックを外す
このチェックを外してあげることで、既存のThumbs.dbの更新も行われなくなるようで、エラーなく移動/削除できるようになりました!
おわりに
今回は、開いていないフォルダが開いていると言われた場合の対処を紹介しました。
必ずしもこれが原因ではありませんが、もし同じ症状で困っている方がいらっしゃいましたら、お役に立てば幸いです!
今回の件では、NAS上のフォルダをマウントして操作しようとした際に問題が発生したので、もしかしたら関係があるかもしれません。
もし同じエラーで困ったら、Thumbs.dbを疑ってみましょう!