Нет доступа для чтения количества файлов в папках
Цитата: timser от 23.12.2023, 10:43Добрый день, всем!
Решил написать небольшую программку для подсчёта количества файлов в разных папках, в том числе и во вложенных.
Столкнулся с проблемой обработки некоторых системных папок, при выполнении получаю ошибку доступа к некоторым папкам.
Вот фрагмент основного кода выполнения задачи, даже просто считать не получается, это на примере папки 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 обрабатывала и те папки, к которым нет доступа?
Добрый день, всем!
Решил написать небольшую программку для подсчёта количества файлов в разных папках, в том числе и во вложенных.
Столкнулся с проблемой обработки некоторых системных папок, при выполнении получаю ошибку доступа к некоторым папкам.
Вот фрагмент основного кода выполнения задачи, даже просто считать не получается, это на примере папки 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 обрабатывала и те папки, к которым нет доступа?
Цитата: Adler от 23.12.2023, 10:55Добрый день.
Ну на то они и права доступа, что бы не пускать кого не надо куда не надо. Соответственно, что бы получить доступ туда, нужно запускать от того пользователя, у кого есть доступ, администратора или System/ThrustInstaller
Добрый день.
Ну на то они и права доступа, что бы не пускать кого не надо куда не надо. Соответственно, что бы получить доступ туда, нужно запускать от того пользователя, у кого есть доступ, администратора или System/ThrustInstaller
Цитата: timser от 23.12.2023, 11:19Это всё понятно, пробовал запускать от разных пользователей, в том числе и назначал права пользователя на эти папки.
Дело в том, что некоторые папки как ссылки, а на некоторых папках нет прав даже для чтения, вот на таких и спотыкается команда.
Поэтому я и задал вопрос, как практически решить эту задачу, чтобы не пропускать их, а именно считать в них эти файлы.
Это всё понятно, пробовал запускать от разных пользователей, в том числе и назначал права пользователя на эти папки.
Дело в том, что некоторые папки как ссылки, а на некоторых папках нет прав даже для чтения, вот на таких и спотыкается команда.
Поэтому я и задал вопрос, как практически решить эту задачу, чтобы не пропускать их, а именно считать в них эти файлы.
Цитата: timser от 23.12.2023, 11:32Не успел добавить, может уважаемый Хачатур поделится информацией, он же в твикере делает подсчёт файлов для процесса сжатия.
Не успел добавить, может уважаемый Хачатур поделится информацией, он же в твикере делает подсчёт файлов для процесса сжатия.
Цитата: Adler от 23.12.2023, 12:13Менять права системных папок плохая затея, так и сломать что-то можно.
Менять права системных папок плохая затея, так и сломать что-то можно.
Цитата: timser от 23.12.2023, 12:59Это я знаю, просто пробовал все варианты, чтобы добиться результата, но тут причина похоже в другом, а именно в доступе для чтения.
Вот папка System Volume Information тоже закрыта даже для чтения, на ней тоже ошибка, а вот как снять запрет, никак не могу решить.
Это я знаю, просто пробовал все варианты, чтобы добиться результата, но тут причина похоже в другом, а именно в доступе для чтения.
Вот папка System Volume Information тоже закрыта даже для чтения, на ней тоже ошибка, а вот как снять запрет, никак не могу решить.