2

重複の可能性:
Directory.GetFiles() がアクセスを拒否された場合、フォルダー/ファイルを無視する

すべてのサブディレクトリに加えて、指定されたパスからファイルを見つける必要があるプログラムを書いています。残念ながら、プログラムがアクセスしようとする一部のフォルダーは、アクセスが拒否されたために例外を返します (特定のシステム ファイルなど)。その周りにtryブロックを配置すると、スクリプトはエラーを発生させて続行するフォルダーを無視するようになると考えましたが、代わりに、例外が発生するたびに、たとえそれがキャッチされたとしても、ファイルが保存されなくなります。配列。したがって、これを実行して配列 filePaths を表示すると、空白のままになります。操作全体をスキップするのではなく、ブロックされたフォルダーをスキップするだけで、開いているフォルダー/ファイルをアレイにコピーしたままにする方法はありますか?

public getFiles(string path)
{
    string[] filePaths = {};

    string path_ = path;

    try
    {
        filePaths = Directory.GetFiles(path_,"*.*",SearchOption.AllDirectories);
    }

    catch{}
}
4

0 に答える 0