2015-12-26 7 views
-1

Моя структура каталогов, как показано ниже.vb.net | Как получить пустые подкаталоги по указанному пути? используя vb.net

  • dir1> subdir1_1> ((subdir1_1_1> subdir1_1_1_1), subdir1_1_2)
  • dir2

    буксирные основные каталоги и subdir1_1 имеют 2 подкаталоги (subdir1_1_1, subdir1_1_2) и subdir1_1_1 есть подкаталог " subdir1_1_1_1"

Ok

Теперь у меня есть этот код


Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim BaseFolder As New IO.DirectoryInfo(Me.TextBox1.Text) 

     For Each f As IO.DirectoryInfo In BaseFolder.GetDirectories() 
      AddContents(f) 
     Next 
    End Sub 
    Sub AddContents(ByVal BaseFolder As IO.DirectoryInfo) 


     For Each subF As IO.DirectoryInfo In BaseFolder.GetDirectories() 


      ListBox1.Items.Add(BaseFolder.FullName) 

      AddContents(subF) 
     Next 
    End Sub 
End Class 

и мой TextBox1.Text = "C: \ тест"

и результат не имеет subdir1_1_1_1 и subdir1_1_2. Зачем ??

где проблема ?? почему я не могу получить пустую папку? enter image description here

ответ

1

Попробуйте это так

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim BaseFolder As New IO.DirectoryInfo(Me.TextBox1.Text) 
    ListBox1.Items.Clear() 
    AddContents(BaseFolder) 
End Sub 

Sub AddContents(ByVal BaseFolder As IO.DirectoryInfo) 
    ListBox1.Items.Add(BaseFolder.FullName) 
    For Each subF As IO.DirectoryInfo In BaseFolder.GetDirectories() 
     AddContents(subF) 
    Next 
End Sub