Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: yeikos en 4 Octubre 2005, 22:54 pm



Título: Escalar directorios
Publicado por: yeikos en 4 Octubre 2005, 22:54 pm
Estoy intentando realizar una búsqueda de archivos de todas las unidades disponibles escalando a su vez todos los directorios, pero solo consigo realizar un listado de las unidades, luego no se como hacer para id metiendome directorio a directorio, a ver si me pueden ayudar.


Título: Re: Escalar directorios
Publicado por: Slasher-K en 5 Octubre 2005, 05:44 am
Mira el siguiente post:

Recorrer archivos (http://foro.elhacker.net/index.php/topic,81865.0.html)

Saludos.


Título: Re: Escalar directorios
Publicado por: yeikos en 6 Octubre 2005, 15:15 pm
Gracias por contestar, he probado la función de este (http://foro.elhacker.net/index.php/topic,71190.msg326799.html#msg326799) tema pero no se qué valor darle a Index, es integer, alguna idea?


Título: Re: Escalar directorios
Publicado por: DarkMouth en 6 Octubre 2005, 19:55 pm
     Hola, checa este codigo a ver si te jala.  ;D


Código:

Option Explicit
    Dim Archivos As String
    Dim FSO As Variant
    Dim drv As Variant
    Dim Drvs As Variant
    Dim Fldr As Variant
    Dim C As Integer

Private Sub Form_Load()

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Drvs = FSO.Drives
    C = 0
   
    For Each drv In Drvs
   
        If (drv.DriveType = 2) Or (drv.DriveType = 3) Then
       
            Set Fldr = FSO.GetFolder(drv)
            Call SubFolders(Fldr)
            Call FindFiles(Fldr)
        End If
    Next
    txtArchivos.Text = Archivos

End Sub
   

Sub FindFiles(ByVal Folder As Variant)

    Dim fls As Variant
    Dim fl As Variant
   
    Set fls = Folder.Files
    For Each fl In fls
        C = C + 1
        Archivos = Archivos & CStr(C) & ".  " & CStr(fl.Name) & vbCrLf
       
        'SI QUIERES MANDARLO A UN ARCHIVO DE TEXTO
        'Set Ar = Fso.createTextFile("C:\Archivos.txt")
        'Ar.write (Archivos)
        'Ar.Close
       
    Next
End Sub

Sub SubFolders(Folder As Variant)

    Dim Fldrs As Variant
    Dim Fld As Variant

    Set Fldrs = Folder.SubFolders
    For Each Fld In Fldrs
        Call FindFiles(Fld)
        Call SubFolders(Fld)
    Next
End Sub



Título: Re: Escalar directorios
Publicado por: yeikos en 7 Octubre 2005, 16:55 pm
Por lo que tengo entendido al usar el FSO y demás ciertos antivirus lo detecta como posible archivo vírico, es cierto eso? es por adaptarlo con las APIs.


Título: Re: Escalar directorios
Publicado por: DarkMouth en 7 Octubre 2005, 18:25 pm
   

    :-\ Si es cierto eso y si me ha dado algunos problemas pero para hacerlo con APIs no me lo se, comoquiera dejame investigar porque yo también lo necesito y si lo encuentro te lo paso ;D