如何列出vb.net目录中所有最终级别的子文件夹?

时间:2013-07-11 10:36:43

标签: vb.net

我有一个包含超过5000个子文件夹的目录....我需要在最终级别获取文件夹的名称....即没有子文件夹的sub-sub-sub ...文件夹将它们列在列表框中。

但是不需要列出仍然包含子文件夹的第1级子文件夹和第2级...第3级......但只列出最后级子文件夹。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

尝试这样的事情:

Public Sub GetChildFolders(sFolderPath As String)
    For Each dir As String In IO.Directory.GetDirectories(sFolderPath)
        If IO.Directory.GetDirectories(dir).Length > 0 Then
            Call GetChildFolders(dir)
        Else
            ' Add "dir" to the ListBox
        End If
    Next
End Sub

然后用父目录调用它,其中所有内容都开始:

Call GetChildFolders(startFolder)

修改

也许你可以做这样的事情来摆脱文件夹的数量:

Dim allDirs() As String = IO.Directory.EnumerateDirectories(path, "*", System.IO.SearchOption.AllDirectories)

For Each dir As String In AllDirs
    If IO.Directory.GetDirectories(dir).Length = 0 Then
        ' Add "dir" to the ListBox
    End If
Next