Visual Basic - COMO PUEDO RECORRER EL DISCO DURO

Life is soft - evento anual de software empresarial
 
Vista:

COMO PUEDO RECORRER EL DISCO DURO

Publicado por nikolaievp (50 intervenciones) el 26/09/2001 15:51:15
Alguno de uds tiene idea de como buscar un archivo explicito, que como todos sabemos se puede hacer con la instruccion dir, pero lo que realmente necesito es la manera de como recorrer el disco con sus directorios y subdirectorios y sub,sub,sub,sub,directorios y etc en busca de archivos, actualmente tengo una funciòn que empieza a buscar carpetas y a la primera carpeta qu encuentra, se mete a esa carpeta y busca subcarpetas, pero el problema es cuando no hay mas subcarpetas y comienza a salirse de ellas.. agradesco si tienen algun codigo para esto gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMO PUEDO RECORRER EL DISCO DURO

Publicado por omicron (25 intervenciones) el 27/09/2001 07:29:26
con un commondialog loque tu puedes hacer es abrir un archivo de una carpeta X, asi como lo haces con windows, guardar, imprimir son las que recuerdo del control commondialog
inclusole dices como filtrar,( extensiones .zip ejemplo)
espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO PUEDO RECORRER EL DISCO DURO

Publicado por Javier Pérez (265 intervenciones) el 27/09/2001 10:48:44
La función que tienes puede servirte, si le haces algún pequeño cambio. Mediante llamadas a Dir puedes obtener los nombres de los archivos y subdirectorios que hay en un determinado directorio, ¿cierto? pues lo que tienes que hacer es volver a llamar a tu función pasándole como parámetro el nombre del directorio; esto es lo que se denomina recursividad y es el método natural de procesamiento de estructuras arbóreas, como los directorios. Únicamente debes tener una precaución: la función Dir no es reentrante, o sea, no permite recursividad, por lo que deberás hacer lo siguiente: cuando estés tratando un directorio y encuentres un subdirectorio, en vez de hacer inmediatamente la llamada recursiva te guardas el nombre del subdirectorio en un vector o colección, por ejemplo; una vez hayas terminado el bucle de llamadas a Dir, entras en otro bucle que recorrerá la tabla que has generado con los subdirectorios y ahí si puedes hacer sin problemas llamadas recursivas a la función.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO PUEDO RECORRER EL DISCO DURO

Publicado por Javier Pérez (265 intervenciones) el 27/09/2001 11:10:32
Bueno, se me ha escapado antes, pero aquí tienes el código de una función que escribe el nombre de todos los ficheros que hay en un directorio dado y sus subdirectorios:

Sub RecorrerDisco(ByVal directorio As String)

Dim nombre As String, actual As String
Dim directorios As New Collection
Dim d As Integer

nombre = Dir(directorio + "\*.*", vbNormal Or vbDirectory)
While nombre <> ""
If nombre <> "." And nombre <> ".." Then
actual = directorio + "\" + nombre
If GetAttr(actual) And vbDirectory Then
directorios.Add actual
Else
Debug.Print directorio + "\" + nombre
End If
End If

nombre = Dir
Wend

For d = 1 To directorios.Count
RecorrerDisco directorios(d)
Next d

End Sub

Prueba a hacer una llamada ...

RecorrerDisco "c:"

... y siéntate a esperar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar