簡體   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