Как обойти скрытые папки при переборе файлов?

283
28 августа 2017, 05:34

При переборе файлов в папках есть одна проблема, это скрытые файлы (переберает по ним тоже), как можно обойти скрытые папки?

Собираю файлы таким способом:

List<string> Browsers = new List<string>();
List<string> APD = new List<string>(); 
string[] BrPaths =
{
  Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),  
  Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
};
foreach (string paths in BrPaths) 
APD.AddRange(Directory.GetDirectories(paths));
foreach (string e in APD)
Browsers.AddRange(Directory.EnumerateFiles(e, "File", SearchOption.AllDirectories));

P.S: В C:\Users\User\AppData\Local\ Скрытая папка(Application Data) Которую нужно обойти

Answer 1

Как вариант:

  DirectoryInfo directory = new DirectoryInfo(@"c:\myFolder");
    if ((directory.Attributes & FileAttributes.Hidden) == 0)
    {
       //значит это не скрытая папка
    }
Answer 2

Нужно прочитать атрибуты файла или папки и проверить на наличие того что элемент скрытый. https://msdn.microsoft.com/en-us/library/system.io.file.getattributes(v=vs.110).aspx

READ ALSO
Работа с нужной строкой

Работа с нужной строкой

Есть файл с разной информацией, например:

188
Как отправить сообщение по WSS?

Как отправить сообщение по WSS?

Uncaught DOMException: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state

301
Не срабатывает checkbox (Vuejs)

Не срабатывает checkbox (Vuejs)

не срабатывает checkbox, на котором висит v-model http://jsbincom/cuqajeseju/edit?js,output

265
Object.defineProperties in class

Object.defineProperties in class

Как можно определять дескрипторы свойств объектов при определении класса ES6

228