Enlaces patrocinados:

Trucos de Visual Basic.NET Función recursiva para recorrer todos los directorios

Con este truco de visual Basic.Net podrás recorrer todos los ficheros de un directorio y todos sus subdirectorios de forma recursiva.


 


Puedes utilizarla para copiar ficheros, borrarlos, listarlos, etc…


 


Función:


 


 Private Sub Recursive( _
    ByVal sourceDir As String, _
       ByVal fRecursive As Boolean)


        Dim i As Integer
        Dim posSep As Integer
        Dim sDir As String
        Dim aDirs() As String
        Dim sFile As String
        Dim aFiles() As String


        If Not sourceDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then
            sourceDir &= System.IO.Path.DirectorySeparatorChar
        End If


        If fRecursive Then


            aDirs = System.IO.Directory.GetDirectories(sourceDir)


            For i = 0 To aDirs.GetUpperBound(0)


                posSep = aDirs(i).LastIndexOf("\")


                sDir = aDirs(i).Substring((posSep + 1), aDirs(i).Length - (posSep + 1))


                Recursive(aDirs(i), fRecursive)
            Next


        End If


        Dim tFiles() As String
        tFiles = System.IO.Directory.GetFiles(sourceDir)


        Dim j As Int32 = 0
        Dim n As Int32 = 0
        n = tFiles.Length - 1
        Try
            For j = 0 To n
                MessageBox.Show(tFiles(j))
            Next


        Catch ex As Exception


        End Try


    End Sub


Comentarios sobre Función recursiva para recorrer todos los directorios


Luis Ponce A dice:

Muchas gracias, es un excelente ejercicio, me ha servido bastante. Saludos, Luis Rodrigo
Comentario publicado 17/03/2010 19:52:00

Luciano Operto dice:

La Función rula de maravillas, pero (siempre hay un pero) ¿como hago para evitar el mensaje de acceso denegado en los directorios en los que no se pueden acceder? ¿Hay alguna manera para comprobar el acceso y en caso de que no se pued continuar con el directorio siguiente? Muchas Gracias. Saludos Luciano
Comentario publicado 21/07/2011 2:01:00
Dejar un comentario

Nombre:

Mail:

Web:

Comentario:

Código de seguridad

Captcha

Inserta el código de seguridad