У меня есть маленькая функция 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