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

Hacer el equivalente al comando de ms-dos "dir" en ASP (fso)

Estas en el tema de Hacer el equivalente al comando de ms-dos "dir" en ASP (fso) en el foro de ASP Clásico en Foros del Web. Me gustaría saber eso, cómo hacer un dir, y que te devuelva (a un array o a un recordset) todos los archivos que hay en ...
  #1 (permalink)  
Antiguo 07/09/2005, 14:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Hacer el equivalente al comando de ms-dos "dir" en ASP (fso)

Me gustaría saber eso, cómo hacer un dir, y que te devuelva (a un array o a un recordset) todos los archivos que hay en una carpeta.

Así mismo, si alguien quiere o puede, me gustaría que me dierais algún link con un tutorial bueno y extenso sobre fso (que supongo que será desde donde se hagan este tipo de cosas). Gracias.

Saludos.
  #2 (permalink)  
Antiguo 07/09/2005, 14:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
con un for each

Código:
for each item in carpeta
  if objeto.isfolder(item)
    response.write item.name & "<br>"
  next
next
Algo asi
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 07/09/2005, 14:57
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
Acá tenés una buena liga para el tratamiento de archivos mediante FSO:
http://www.aspfaq.com/show.asp?id=2039

Recalco tratamiento de archivos porque creo que no hace referencia a carpetas y unidades, pero bueno, ahí mismo tenés enlaces a la documentación oficial de microsoft.
Saludos
__________________
...___...
  #4 (permalink)  
Antiguo 08/09/2005, 07:05
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Cita:
Iniciado por Al Zuwaga
Acá tenés una buena liga para el tratamiento de archivos mediante FSO:
http://www.aspfaq.com/show.asp?id=2039
excelente liga al... muy buena....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 16/11/2005, 21:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Cita:
Iniciado por u_goldman
con un for each

Código:
for each item in carpeta
  if objeto.isfolder(item)
    response.write item.name & "<br>"
  next
next
Algo asi
¿Pero "carpeta" qué es ahí? ¿Cómo la defino para que sea una colección?

Por cierto, el código contiene pequeñas erratas, para alguien nuevo que llegue, el código es:

Código:
For each item in carpeta
if objeto.isfolder(item) then
    response.write item.name & "<br>"
end if
next
  #6 (permalink)  
Antiguo 16/11/2005, 21:31
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
He probado a poner esto delante del código (aparte de definir el objeto como objeto FSO), y no me funciona tampoco. Poniendo

carpeta=objFSO.GetFolder ("c:\Inetpub\wwwRoot\...") (Get Folder de la ruta directa a la carpeta).

me da el error "El objeto no es una colección". ¿Qué estoy pasando por alto o haciendo mal?

¿U_Goldman o alguien sabe cómo conseguir "la carpeta" sobre la que luego hacer el script que equivale a un dir?

(Nada, ya lo solucioné. Creo que lo fundamental era que en vez de item se tenía que poner file.)

Última edición por un_tio; 16/11/2005 a las 22:06
  #7 (permalink)  
Antiguo 17/11/2005, 10:43
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
"item" en ese caso sería algo así como una variable (o un nombre genérico que vos le das y luego utilizás). Podrías haber puesto for each PEPE in una_colección que sería lo mismo. Luego usás PEPE.name y te devuelve el nombre
__________________
...___...
  #8 (permalink)  
Antiguo 29/11/2005, 11:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Lo dejo aquí apuntado.

Al final era:

Dim objFSO
set objFSO = server.createObject ("scripting.FileSystemObject")

DIRNAME="/la_ruta_que_sea"
Set dir = objFSO.GetFolder(Server.MapPath(DIRNAME))
For Each file In dir.Files
response.write file.name & "<br>"
next

Y no, efectivamente lo de "file" no importaba, podría haber puesto PEPE también.
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 01:24.