0

よりクリーンなタイプのプログラムをコーディングしましたが、アクセス許可で大きなエラーが発生しました (と思います) エラーメッセージはそのように出力されます。

タイプ 'System.UnauthorizedAccessException' の未処理の例外が mscorlib.dll で発生しました 追加情報: パス 'C:\Windows\CSC\v2.0.6' へのアクセスが拒否されました。

そして、コードのエラー部分はこの行だと言っています

For Each fi In DirectroyInfos.GetFiles(filter)

しかし、ここにコードの埋め込みブロックがあります。

For Each fi In DirectroyInfos.GetFiles(filter)
            Try
                file_count = file_count + 1
                file_size = CULng(file_size + fi.Length)
                FilesToDelete.Add(fi.FullName)
            Catch ex As UnauthorizedAccessException
                'There's really no pretty way to handle this exception
            Catch ex As FileNotFoundException
                'There's really no pretty way to handle this exception
            End Try

私はWindows 7を持っていて、多くの実行に管理者の問題があることに気づきました。取得する権限のないファイルを削除またはアクセスしようとしていると思います。

とにかくこれを修正する方法はありますか?コーディングに何か不足していますか?

4

2 に答える 2

0

あなたがあなたの質問で言ったように、あなたはそのファイルに書き込みアクセス権を持っていません。

アクセスできないファイルをスキップするか、アプリケーションを管理者として実行してください。

于 2012-12-17T20:39:57.277 に答える
0

いずれかのファイルにアクセスできない場合、フォルダー内のすべてのファイルをスキップするという win32 API の制限があるようです。

Microsoft Connectからこのソリューションを確認してください。

方法 : ディレクトリ ツリーを反復処理する (C# プログラミング ガイド)

于 2012-12-17T21:59:18.363 に答える