1

私のプログラムでは、古い出力でディレクトリを削除できる必要があります。ただし、その中の一部のファイルはロックされている可能性があります。この場合、プログラムを続行する前にアプリケーションをロックしているアプリケーションを閉じる必要があることをユーザーに警告したいと思います。再試行/キャンセル ダイアログを表示し、ユーザーが [キャンセル] をクリックした場合は、ディレクトリをそのままにしておきます。

したがって、ディレクトリ ツリー全体を削除できるかどうか (サブディレクトリにロックされたファイルがないかどうか) を、その内容を変更せずに確認する方法 (予行演習のようなもの) を教えてください。

4

3 に答える 3

3

おそらく、親ディレクトリの名前を変更してみてください。少なくとも Windows では、サブフォルダ内のファイルがロックされている場合は不可能であるというエラーが表示されます。名前の変更が成功した場合は、削除しても安全であり、削除する前に他のユーザーがツリーにアクセスするのを防ぎます。

于 2012-07-18T07:11:51.830 に答える
1

再起動マネージャーを使用すると、使用中のファイルがあるかどうかが通知され、それらをシャットダウンするように提案されます。ただし、チェック後にそれらをロックする何かの競合状態から保護するものは何もありません。

于 2012-07-19T15:30:30.747 に答える
1

ディレクトリ ツリー内の各ファイルに対して_access関数を呼び出すことができます。しかし、ファイルがチェックされた後でも、誰かがファイルをロックすることができます。

于 2012-07-18T07:55:20.353 に答える