SearchOption.AllDirectories (Exceptions) C# \ как не лазить в системные папки [дубликат]

212
15 мая 2018, 09:20

На данный вопрос уже ответили:

  • Отказано в доступе при использовании Directory.GetFiles 1 ответ

Делаю вот такой поиск по папкам

    {
       treeView1.Nodes.Clear();
        try {
            foreach (string find in Directory.GetFiles(catalog, fileName, SearchOption.AllDirectories))
            {
                fileCount++;
                label6.Text = "Файлов обработано: " + fileCount;
                label4.Text = "Обработка: " + find;
                treeView1.Nodes.Add("" + find);

            }
        }
        catch
        {   
            treeView1.Nodes.Add("123");
        }
        fileCount = 0;
        }

Естественно во многих случиях вылазит Exception после чего поиск по папкам прекращается. Как продолжить поиск после ексепшена, либо же как сделать что бы поиск не проводился в системных директориях вызывающих exception?

Answer 1
  1. try/catch внутри foreach.
  2. Не использовать флаг SearchOption.AllDirectories, а использовать SearchOption.TopDirectoryOnly и прогонять рекурсивно.
READ ALSO
Миграция ASP.MVC [требует правки]

Миграция ASP.MVC [требует правки]

Изменил модельТочнее удалил дополнительные свойства доступа к модели так как посчитал это ненужным кодом и оставил саму модель где и проверяю...

199
Как с таймера вытянуть время?

Как с таймера вытянуть время?

Как с таймера вытянуть время за отработанный промежуток времени ?

208
Функционал к Visual Studio

Функционал к Visual Studio

Есть ли такая возможность, чтобы при наведении на объект(класс, структуру) курсором появлялся список его свойств и методов?

172
Как заставить перебор вписывать все выбранные значения в textbox?

Как заставить перебор вписывать все выбранные значения в textbox?

в этой строке вы полностью перезаписываете значение, чтобы не терять то что там уже есть - используйте конкатенацию, например, так:

213