Listar contenido de un directorio con ASP

04/Feb/2009 ASP , 4 Comentarios

Una de las cosas que nos permite el objeto FileSystemObject es listar el contenido de un directorio.
Esto nos puede servir si queremos implementar mediante ASP una especie de navegador de carpetas del servidor o algo por el estilo. De esta manera y junto con el resto de características del objeto FileSystemObject podemos llegar a implementar un verdadero gestor de los ficheros de nuestro servidor.

Lo primero que tenemos que hacer es obtener una referencia a dicho objeto:

  1. Set fso = CreateObject("Scripting.FileSystemObject")

Una vez instanciado el objeto FileSystemObject, lo que tenemos que hacer es recuperar una referencia a la carpeta de la cual queremos listar los archivos. Para ello nos apoyamos en el método .GetFolder().

  1. Set directorio = fso.GetFolder ("C:\windows")

Esta referencia, en si, es otro objeto, el cual contendrá el listado de ficheros. A si que, lo que pasaremos a hacer es recorrer dicho objeto ayudándonos de un bucle for..each.

  1. For Each fichero IN directorio.Files
  2. ...
  3. Next

Directamente podemos volcar el contenido de la variable fichero, lo cual nos dará información sobre el mismo. Por otro lado, si queremos obtener solo el nombre del fichero, podemos crear un objeto File. Del objeto file podemos utilizar la propiedad Name para obtener únicamente el nombre del fichero, sin la ruta.

  1. Set file = fso.GetFile(fichero)
  2. Response.Write fichero.Name &"<BR>"

El código completo nos quedaría de la siguiente forma:

  1. For Each fichero IN directorio.Files
  2. Set file = fso.GetFile(fichero)
  3. Response.Write (fichero.Name)&"<BR>"
  4. Next
  5.  

4 comentarios en “Listar contenido de un directorio con ASP”

Víctor Cuervo

Fernando Espinoza

Hola Víctor,
Está muy buena la explicación del código y todo, pero cómo podemos hacerlo si queremos listar todos los archivos y carpetas de los sub directorios de la ruta que le especifique?

Saludo!!

Víctor Cuervo

Javier

Hola Victor,

Necesito exactamente lo mismo que Fernando y veo que estamos en la misma epoca a pesar que tu post es de hace mucho.
Podrías colaborarnos por favor.

Fernando si encuentras la solución lo colocas me compartes por favor si lo encuentro lo coloco acá.

Saludos,

Víctor Cuervo

xavi

¿Se pueden listar otros atributos al mismo tiempo?… por ejemplo el tamaño, la fecha…. s

Víctor Cuervo

Claudio Palacios

Necesito ayuda con esto.
Necesito poder listar archivos dentro de una carpeta, pero que del nombre del archivo solo conozco la primera parte, entonces necesito ir a buscar algo asi Fichero_XXX.jpg. No se si podra listar usando algo como en DOS es asi: Fichero*.jpg ??

Lo que pasa es que tengo en una carpeta como 30.000 fotos, y necesito ir a buscar las especificas de un vehiculo que contienen ese nombre no siempre conocido.
Actualmente lo que hago es recorrer todo el directorio y con un Instr() busco si el nombre coincide en parte con el que va buscando.

Necesito ayuda, ya que mi metodo es super lento!!
Les agradeceria su ayuda.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*