Метод Directory.GetFiles завершается с ошибкой при первой встрече с папкой, в которой у него нет прав доступа.
Метод выдает исключение UnauthorizedAccessException (которое может быть уловлено), но к тому моменту, когда это будет сделано, метод уже не выполнен/завершен.
Код, который я использую, приведен ниже:
try
{
// looks in stated directory and returns the path of all files found
getFiles = Directory.GetFiles(
@directoryToSearch,
filetype,
SearchOption.AllDirectories);
}
catch (UnauthorizedAccessException)
{
}
Насколько мне известно, нет возможности заранее проверить, имеет ли определенная папка определенные права доступа.
В моем примере я ищу на диске по сети, и когда я сталкиваюсь с корневой папкой только для доступа, моя программа выходит из строя.