Windowsエクスプローラーからの.exeの上書き(ドラッグアンドドロップまたはコピーアンドペースト)で問題が発生しました:「フォルダーまたはその中のファイルが別のプログラムで開かれているため、アクションを完了できません」というエラーメッセージが表示されます。私はsysinternalツールを使用して、そのファイルを誰が保持しているかを確認しました。これはシステムプロセスです。
次のファイル構造があるとしますrootfolder\a.exe rootfolder\someotherfolder\a.exe
1- Windowsエクスプローラーをrootfolderに開き、a.exeをsomeotherfolderにドラッグアンドドロップすると、someotherfolder内のa.exeが正しく上書きされます。
2- Windowsエクスプローラーの2つのインスタンスを同時に開いている場合(1つはルートフォルダー内、もう1つは別のフォルダー内)、a.exeをもう1つのa.exeにドラッグアンドドロップするとエラーメッセージが表示されます。
奇妙なことに、別のフォルダを閉じて手順1を繰り返そうとすると、同じエラーメッセージが表示されて失敗します。システムは、フォルダを閉じるまで、かなりの数秒間ファイルのハンドルを保持します。
インデックスサービスをオフにしてみました。UACを無効にし、アンチウイルスを無効にしました。ドメインでWindows7 64ビットを実行しています。ユーザーは私のマシンの管理者です。このファイルの権限を見ると、ユーザーがファイルを完全に制御していることがわかります。私はこれを解決するために何をすべきかについて少し無知です。
奇妙に聞こえるかもしれませんが(私は本当に理解していません)、これで説明されている手順に従ってください ブログ投稿 すべてを修正しました。
基本的に、管理者のコマンドプロンプトに次のように入力すると、すべてが魔法のように機能し始めました。
ネットユーザー管理者/ active:yes
プログラムを与える nlocker ショット。 無料であり、すべてのバージョンのWindows 2000から7までと互換性があるだけでなく、プロセスからファイルハンドルを「ロック解除」することができますなしでそれらを終了します(もちろん、後者のオプションもあります)。
これは、これを実行できる(プロセスを終了したり、コンピューターを再起動したりせずにファイルハンドルのロックを解除する)ことができる、これまでに見つけた唯一のユーティリティです。
これが実際に発生している理由については、Windowsがアプリケーションアイコンをキャッシュしようとしているのか、外部プロセス(ウイルス対策など)がファイルをスキャンしている可能性があります。 Unlockerは、どのプロセスがファイルをロックしたかを教えてくれるので、なぜこれが起こっているのかがわかるはずです。
ファイルをexeファイルの上にドラッグアンドドロップすると、エクスプローラーにターゲットexeファイルを起動してドラッグされたexeファイルを開くように指示します。これがデフォルトの動作です。これはあなたのシステムには当てはまりません。
私の推測では、サードパーティのプログラムです。システムにインストールされているコピー/ドラッグアンドドロップハンドラーはありますか?