Каталог.GetFiles работает не так, как ожидалось

#c#-4.0

#c #-4.0

Вопрос:

 string[] list = Directory.GetFiles("c:\", "One Two Three - User.xml")
  

Этот код не возвращает мне массив, но у меня есть три каталога с этим файлом. Есть идеи, как заставить это работать?

Ответ №1:

Ознакомьтесь с вариантом этого метода, который принимает SearchOption , здесь. Похоже, что вы выполняете рекурсивный поиск в направлении, и перечисление SearchOption позволяет вам указать это.

Ответ №2:

Directory.GetFiles не проходит по вложенным каталогам таким образом … поэтому возвращается только файл на C: !!
Если вам нужно выполнить поиск по этому шаблону в каталоге и в его дочерних каталогах, вы должны просканировать (рекурсивно) все дочерние каталоги, а затем текущий каталог. На каждом шаге вы добавляете файлы в глобальную переменную ( string[] files ).
Я думаю, что этот пример может быть полезен…
Или вы можете использовать Directory.GetFiles(path, pattern, SearchOption.AllDirectories);