Альтернативный метод, который позволяет искать несколько каталогов и фильтровать результаты, используя несколько шаблонов поиска.
Возвращает упорядоченный List(Of String)
:
Private Function DirSearch(ByVal sDirList As String(), SearchPatter As String()) As List(Of String)
Return sDirList.SelectMany(
Function(dir) SearchPatter.SelectMany(
Function(filter)
Return Directory.GetFiles(dir, filter, SearchOption.AllDirectories)
End Function).OrderBy(Function(xDir) xDir)).ToList()
End Function
Вы можете передать методсписок путей и список расширений:
Dim SearchPaths As String() = New String() {"[Directory1]", "[Directory2]"}
Dim ItemSearchPattern As String() = New String() {"*.txt", "*.sql", "*.jpg"}
Dim DirListing As List(Of String) = DirSearch(SearchPaths, ItemSearchPattern)
Извлечь содержимое каталога сигил с помощью:
Dim FilesInDir As List(Of String) = DirListing.
Where(Function(entry) entry.ToUpper().
Contains("[DirectoryName]".ToUpper())).ToList()
Это нечувствительный к регистру фильтр.Удалить (ToUpper()
) для чувствительного к регистру.