Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Список файлов по шаблону


Автор: Exception 7.6.2007, 19:29
Код находит все файлы, соответствующие данному шаблону, в указанной папке.

Код
''' <summary>Находит имена файлов, соответствующих данному шаблону и находящихся в указанной папке.</summary>
''' <returns>Массив имён файлов.</returns>
''' <param name="pattern">Шаблон имени файла, например, <c>*.txt</c>.</param>
''' <param name="dir">Имя директории.</param>
''' <param name="includeSubdirs">Если <c>true</c>, поиск будет осуществляться и по вложенным папкам.</param>
Public Function FindFiles (ByVal pattern As String, ByVal dir As String, ByVal includeSubdirs As Boolean) As String()
    Dim dirInfo As New DirectoryInfo(dir)
    Dim paths As New List(Of String)
    ListFiles (paths, pattern, dirInfo, includeSubDirs)
    Return paths.ToArray ()
End Sub

Private Sub ListFiles(list As List(Of String), ByVal pattern _
    As String, ByVal dirInfo As DirectoryInfo, ByVal includeSubdirs As Boolean)

    Dim fsInfos() As FileInfo = dirInfo.GetFiles (pattern)
    For Each fsInfo As FileInfo In fsInfos
        list.Add(fsInfo.FullName)
    Next
    If includeSubdirs Then
        Dim subDirs() As DirectoryInfo = _
            dirInfo.GetDirectories ()
        For Each subDir As DirectoryInfo In subDirs
            ListFiles(list, pattern, subdir)
        Next
    End If
End Sub

' ...

Dim found As String() = FindFiles ("*.txt", "C:/", true)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)