私が書いているアプリケーションでは、ユーザーはいくつかのファイルを再帰的に検索するためにフォルダを追加する機能を持っています。Directory.GetFilesを使用した場合のUnauthorizedAccessException
問題は、彼がアプリケーションに追加したいファイルがK:のようなベースドライブに保存されている可能性があるということです。このドライブを直接追加すると、例外が発生します。
それとも彼がC追加した場合:パスに
アクセス「C:\のシステムボリューム情報が」拒否された\を、私はそれが言うUnauthorizedAccessExceptionを取得します。
どのようにスキャンするだけでスキャンできますか?そして、別の非システムドライブを完全に(すべてのディレクトリ)スキャンする機能を与えますか?
、これが最も可能性が高い、それを処理する前に、すべての単一のディレクトリのアクセス権限をチェックするよりもパフォーマンスが向上します。 – bernhof
@Bernhof:私は同じように感じます。私はパーミッションをチェックする代替方法を考えましたが、それは有効なディレクトリ(一度チェックして、再度フォルダ構造を解析するために)を2回実行するので、それはあまりオプションではないと判断しました。 –
ありがとう、私はシステム以外のベースドライブを検索したときの例外も試してみます。それは別の例外でした。 –