Foros del Web » Programando para Internet » ASP Clásico »

Mostrar carpetas y subcarpetas

Estas en el tema de Mostrar carpetas y subcarpetas en el foro de ASP Clásico en Foros del Web. Hola, Necesito acceder a todas las carpetas y subcarpetas que tenga un directorio determinado. He llegado hasta la subcarpeta 3, pero no sigo más adelante. ...
  #1 (permalink)  
Antiguo 05/06/2006, 13:59
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 20 años, 3 meses
Puntos: 0
Mostrar carpetas y subcarpetas

Hola,
Necesito acceder a todas las carpetas y subcarpetas que tenga un directorio determinado. He llegado hasta la subcarpeta 3, pero no sigo más adelante.
Lo he conseguido así:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set folder = FSO.GetFolder("K:\Mp3\mp3 cd's\")

For each subfolder in folder.SubFolders
SubCNombre = Subfolder.Name
Response.Write SubCNombre &"<br>"

For each subfolders in subfolder.SubFolders
SubCNombre1 = Subfolders.Name
Response.Write " - - "&SubCNombre1 &"<br>"

For each folder in subfolders.SubFolders
SubCNombre2 = folder.Name
Response.Write " - - - - - "&SubCNombre2 &"<br>"

next
next
next

Alguien sabe como seguir por lo menos otras 3 subcarpetas más o si hay algún otro método mejor ??

Gracias
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com
  #2 (permalink)  
Antiguo 05/06/2006, 14:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Recursividad. Buscá filesystemobject recursivo (o recursiva) acotando al foro ASP que hay mensajes al respecto.
Eso si, tené en cuenta que si son muchos archivos y muchas sub-sub-sub-etc carpetas la cosa se va a poner lenta.
__________________
...___...
  #3 (permalink)  
Antiguo 06/06/2006, 00:37
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola Al Zuwaga:
Ya busqué antes y ahora he hecho una búsqueda con filesystemobject recursivo y no sale nada, y otra con filesystemobject recursiva y salen 3 temas, este, otro sin respuesta y otro que hace referencia a archivos de una carpeta.

Bien, seguiré investigando

Salu2
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com
  #4 (permalink)  
Antiguo 06/06/2006, 08:12
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Código:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "D:\directorio"

Set objFolder = objFSO.GetFolder(objStartFolder)
response.write "<br>"&objFolder.Path&"<br>"&"<br>"
Set colFiles = objFolder.Files
For Each objFile in colFiles
  response.write objFile.Name&"<br>"
Next


ShowSubfolders objFSO.GetFolder(objStartFolder)

Sub ShowSubFolders(Folder)
    For Each Subfolder in Folder.SubFolders
      response.write "<br>"&Subfolder.Path&"<br>"&"<br>"
        Set objFolder = objFSO.GetFolder(Subfolder.Path)
        Set colFiles = objFolder.Files
        For Each objFile in colFiles
           response.write objFile.Name&"<br>"
        Next
        ShowSubFolders Subfolder
    Next
End Sub
pero como dijo Al, ojito con la recursividad, que si hay muchos niveles el servidor se recarga.
  #5 (permalink)  
Antiguo 06/06/2006, 13:56
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 20 años, 3 meses
Puntos: 0
Bien Gracias por responder,
encontré algo similar a lo que dice trasgukabi en google y ya funciona el invento, no lleva muchos niveles y como no necesito los archivos , pues va bien, me tarda en controlar 5000 directorios con un máximo de 4 ó 5 niveles unos dos minutos.
No es para servidor, es para hacer una base de datos de música y corre solo en el pc.

Gracias de nuevo
Salu2
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com
  #6 (permalink)  
Antiguo 29/06/2006, 06:46
 
Fecha de Ingreso: enero-2004
Ubicación: Valladolid
Mensajes: 2
Antigüedad: 20 años, 5 meses
Puntos: 0
Cita:
Iniciado por eeeee
Bien Gracias por responder,
encontré algo similar a lo que dice trasgukabi en google y ya funciona el invento, no lleva muchos niveles y como no necesito los archivos , pues va bien, me tarda en controlar 5000 directorios con un máximo de 4 ó 5 niveles unos dos minutos.
No es para servidor, es para hacer una base de datos de música y corre solo en el pc.

Gracias de nuevo
Salu2
Hola, yo estoy buscando un código parecido. Tengo dos directorios, origen y destino, cada uno en un servidor, y lo que tengo que hacer es copiar de origen a destino los ficheros que hayan sido modificados o creados. Claro, para ello, tengo que recorrer completamente ambos directorios (y sus subdirectorios), ir almacenando en una lista la ruta de los modificados y luego ya subirlos.
Ya he hecho una función recursiva, que con carpetas de unos 60 megas de peso lo hace, pero con unos 150 megas (4600 archivos) se queda tostado. ¿Alguna idea?
  #7 (permalink)  
Antiguo 29/06/2006, 09:55
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Y pues... subirle exageradamente el server.scripttimeout. Igual, no creo que sea una buena idea usar ASP para este tipo de trabajos tan pesados.
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:22.