15

ここで同様の質問を見つけましたが、「それをしないでください」という回答でクローズ/受け入れられました。

私は、他のアプリケーションに何が起こるか気にしない状況にあり、他の人によってロックされている可能性のあるファイルを (必要に応じて無作法に) 取得し、自分のやり方で処理したいと考えています。このファイルを移動、名前変更、または削除する必要がある場合があります。

基本的に、ロックをクリーンアップしないアプリによって作成されたディレクトリ内のファイルを処理する必要があります。私の呼び出し時にアプリの処理が完了していることはわかっていますが、実行時にロックを強制終了する必要があります。さらに、サーバーがあるリモート共有をスキャンするローカル AV ソフトウェアからの読み取りと競合しているようです。

これらすべてが解決不可能な「強制終了」状況につながるため、必要なことを行うことができます。何をすべきか考えている人はいますか?

4

3 に答える 3

5

まず、この投稿を使用して、それらをロックしている危険なアプリであることを確認できます。

.NET を使用してファイルをロックしているプロセスを確認するにはどうすればよいですか?

次に、この投稿では、それらを閉じる方法の概要を説明します。

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/04a1e899-2a38-4d95-8ed5-6d53344e4d76

于 2010-08-19T22:53:49.143 に答える
2

これはおそらく無関係であり、誰かのコメントをお願いしますが、以前にエクスプローラーでファイルロックを回避するために使用した回避策がありました。
ファイルが停止したプロセスによってロックされている場合、Windows では削除できないことがよくありますが、別の場所に同じ名前の新しいファイルを作成した場合は、それをフォルダーに移動すると成功します。その後、新しいファイルを削除できましたが、すべて問題ありませんでした。
これをアプリで使用するには、これを行う前にファイルを読み取ってメモリに保持し、古いファイルを削除した後に書き戻すことができる必要があります。
役立つかもしれませんが、そうでないかもしれませんが、試してみる価値はあります。

于 2010-08-19T23:04:54.390 に答える