Вы должны войти, чтобы создавать сообщения и темы.

Нет доступа для чтения количества файлов в папках

Добрый день, всем!
Решил написать небольшую программку для подсчёта количества файлов в разных папках, в том числе и во вложенных.
Столкнулся с проблемой обработки некоторых системных папок, при выполнении получаю ошибку доступа к некоторым папкам.
Вот фрагмент основного кода выполнения задачи, даже просто считать не получается, это на примере папки ProgramData.

int num = FilesCount(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData));

public int FilesCount(string path)
{
     int str = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Length;
     return str;
}

Как получить количество всех файлов из всех папок, чтобы Directory.GetFiles обрабатывала и те папки, к которым нет доступа?

Добрый день.
Ну на то они и права доступа, что бы не пускать кого не надо куда не надо. Соответственно, что бы получить доступ туда, нужно запускать от того пользователя, у кого есть доступ, администратора или System/ThrustInstaller

Это всё понятно, пробовал запускать от разных пользователей, в том числе и назначал права пользователя на эти папки.
Дело в том, что некоторые папки как ссылки, а на некоторых папках нет прав даже для чтения, вот на таких и спотыкается команда.
Поэтому я и задал вопрос, как практически решить эту задачу, чтобы не пропускать их, а именно считать в них эти файлы.

Не успел добавить, может уважаемый Хачатур поделится информацией, он же в твикере делает подсчёт файлов для процесса сжатия.

Менять права системных папок плохая затея, так и сломать что-то можно.

Это я знаю, просто пробовал все варианты, чтобы добиться результата, но тут причина похоже в другом, а именно в доступе для чтения.
Вот папка System Volume Information тоже закрыта даже для чтения, на ней тоже ошибка, а вот как снять запрет, никак не могу решить.