繁体   English   中英

Visual Basic 2010-无法列出目录而不显示路径

[英]Visual basic 2010 - Can't list directories without showing the path

这是我的代码:

Sub DataLoad()
    Dim DirList As New ArrayList
    GetDirectories("C:\Surf\Oversigt\", DirList)


    For Each item In DirList
        ListBox4.Items.Add(item)
    Next


End Sub



Sub GetDirectories(ByVal StartPath As String, ByRef DirectoryList As ArrayList)
    Dim Dirs() As String = Directory.GetDirectories(StartPath)
    DirectoryList.AddRange(Dirs)

    For Each Dir As String In Dirs
        GetDirectories(Dir, DirectoryList)
    Next
End Sub

我只想显示listbox4中目录的名称,而不是目录的整个路径。 现在它将显示如下内容:

C:\\ Surf \\ Oversigt \\ Foldername等

请帮忙

你可以换线

 DirectoryList.AddRange(Dirs)

用这条线

DirectoryList.AddRange(Dirs.Select(Function (x) Path.GetFileName(x)).ToArray())

这将以一种不直观的方式使用Path.GetFileName,但是如果调用GetFileName传递完整的路径名,则将获得最后一个文件夹名。

但是我对您的代码有疑问。 这段代码是递归的,如果删除了完整路径,如何识别两个名称相同但位于不同子文件夹中的文件夹?

例如,假设您有一个

C:\Surf\Oversigt\MyFolder
C:\Surf\Oversigt\temp\MyFolder

您最终将在列表框中显示

MyFolder
MyFolder

下线后

 Dim Dirs() As String = Directory.GetDirectories(StartPath)

只需更换线

DirectoryList.AddRange(Dirs)

For Each Dir As String In Dirs
    DirectoryList.Add(Dir.Substring(Dir.LastIndexOf("\") + 1))
Next

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM