2015-12-26 4 views
-1

Ma structure de répertoire est comme ci-dessous.vb.net | Comment obtenir des sous-répertoires vides dans un chemin spécifié? using vb.net

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

    répertoires principaux de remorquage et subdir1_1 ont 2 sous-répertoires (subdir1_1_1, subdir1_1_2) et subdir1_1_1 ont sous-répertoire " subdir1_1_1_1"

Ok

maintenant, j'ai ce code


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 

et mon TextBox1.Text = "C: \ test"

et le résultat n'a pas subdir1_1_1_1 et subdir1_1_2. Pourquoi ??

où le problème ?? pourquoi je ne peux pas obtenir le dossier vide? enter image description here

Répondre

1

Essayez cette façon

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