Вернуть имя файла в datagrid - подкаталоги - PullRequest
0 голосов
/ 08 марта 2020

У меня есть маленькая функция vb. net, которая возвращает имена файлов и другие данные, которая прекрасно работает. Однако мне нужно, чтобы он возвращал все файлы в каталоге и подкаталогах, которые я установил. Мне нужно, чтобы он копал глубже в папки, а не только в ту папку, на которую я указал. Если я установлю каталог «X: \ Userfiles \», он будет смотреть только на эту папку, а не начинать там и сканировать все подкаталоги.

Есть идеи, ребята? Заранее спасибо.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    DataGridView1.DataSource = Fileinfo_To_DataTable(path.Text)
End Sub


Private Function Fileinfo_To_DataTable(ByVal directory As String) As DataTable
    Try
        'Create a new data table
        Dim dt As DataTable = New DataTable

        'Add the following columns:
        '                          Name
        '                          Length
        '                          Last Write Time
        ''                         Creation Time
        dt.Columns.AddRange({New DataColumn("Name"), New DataColumn("Length", GetType(Long)), New DataColumn("Last Write Time", GetType(Date)), New DataColumn("Creation Time", GetType(Date))})

        'Loop through each file in the directory
        For Each file As IO.FileInfo In New IO.DirectoryInfo(directory).GetFiles
            'Create a new row
            Dim dr As DataRow = dt.NewRow

            'Set the data
            dr(0) = file.Name
            dr(1) = file.Length
            dr(2) = file.LastWriteTime
            dr(3) = file.CreationTime

            'Add the row to the data table
            dt.Rows.Add(dr)
        Next

        'Return the data table
        Return dt
    Catch ex As Exception
        Console.WriteLine(ex.ToString)





        'Return nothing if something fails
        Return Nothing
    End Try
End Function
...