vb.net - 如何在 GetFiles 中设置选项以包含子目录
问题描述
我正在使用下面的代码尝试列出目录及其所有子目录中的所有文件。我得到的是“根”目录中的那些,而不是其他的。调查告诉我,我必须为 GetFiles 设置一个搜索选项,但我找不到该选项是什么或如何设置它。我会很感激任何帮助。
For Each foundFile As String In My.Computer.FileSystem.GetFiles(strArchRoot)
ListBox1.Items.Add(foundFile)
Next
解决方案
一个问题是,如果它们是特权问题,上述两种方法都会很明显。这种方法将本地化。
使用功能
ListBox1.Items.AddRange((From o As Object In GetFiles(strArchRoot)
Select o).ToArray)
功能
Private Function GetFiles(strArchRoot As String) As List(Of String)
Dim rv As New List(Of String)
Try
rv.AddRange(GetSubFiles(strArchRoot))
Catch ex As Exception
End Try
Return rv
End Function
Private Function GetSubFiles(folder As String) As List(Of String)
Dim rv As New List(Of String)
Try
rv.AddRange(System.IO.Directory.GetFiles(folder, "*.*", IO.SearchOption.TopDirectoryOnly))
Catch ex As Exception
End Try
Dim ds() As String
Try
ds = System.IO.Directory.GetDirectories(folder)
For Each p As String In ds
rv.AddRange(GetSubFiles(p))
Next
Catch ex As Exception
End Try
Return rv
End Function
推荐阅读
- qt - Ubuntu 18.04.1 LTS 中的 Qt 5.9.5 错误“没有临时父级的 GtkDialog 映射。不鼓励这样做”
- javascript - 如何在 Postman 中使用 _.set() 设置方括号的值
- c - 客户端:C clientsocket / 服务器:socket.io(nodejs)... 这可能吗?
- command-prompt - Windows 上的 ConEmu 中的 Bash 太慢了
- python - 如何在 Python 中使用网络摄像头捕获图像?
- android - 如何在 ListView 项目的视图上添加不同的 OnClickListener 以执行不同的操作
- javascript - Phaser 3 中的“this”指的是什么?
- java - 未从 Set 中移除的元素
- javascript - 删除包含所有继承子文档的文档
- bots - Botpress:如何使用动态多项选择进行回复