Taller de ASP para listar todas las carpetas del directorio raíz del disco duro en ASP.
Vamos a hacer un ejemplo de acceso al directorio ra?z de nuestro disco duro para listar cada una de las carpetas que contiene y alguna de sus propiedades.
<%
'Conecto con el sistema de archivos
set FSO = server.createObject("Scripting.FileSystemObject")
'creo el objeto disco C:
set discoC = FSO.GetDrive("c")
'Tomo el directorio raiz
set raiz = discoC.rootFolder
'extraigo la coleccion de carpetas
set coleccionCarpetas = raiz.subFolders
'para cada carpeta imprimo su nombre y su camino completo desde la raiz
for each carpeta in coleccionCarpetas
response.write "<b>Carpeta " & carpeta.name & "</b>:<br>"
response.write "Path: " & carpeta.path
response.write ", Nombre corto: " & carpeta.ShortName
response.write ", Atributos: " & carpeta.Attributes
response.write "<p>"
next
%>
El ejemplo se realiza accediendo a trav?s del m?todo GetDrive() del FSO, para obtener la unidad C. Luego, de la unidad obtenida se extrae el directorio ra?z, a trav?s de la propiedad RootFolder del objeto Drive. RootFolder es ya un objeto Folder y como tal tiene una colecci?n de subcarpetas en su propiedad SubFolders.
A la colecci?n de subcarpetas de nuestro directorio ra?z se le hace un recorrido con un bucle FOR EACH. Para cada carpeta se escribe su nombre, seguido de la ruta completa hasta la carpeta, el nombre corto que tendr?a en un sistema MS-DOS y sus atributos.
La numeraci?n de los atributos es a base de potencias de dos, as?, el atributo 17 quiere decir que tiene los atributos 16 y 1 (2 elevado a 4 y 2 elevado a 0). En castellano: un directorio de solo lectura.
En este ejemplo ya se empieza a ver la navegaci?n por el sistema de ficheros, aunque s?lo nos hayamos quedado a nivel de carpetas. El esquema es el comentado anteriormente:
FSO > GetDrive() (para obtener una unidad) > RootFolder (para obtener la carpeta ra?z de una unidad > Subfolders (para obtener la lista de subcarpetas del directorio, en este caso el ra?z).
<%
'Conecto con el sistema de archivos
set FSO = server.createObject("Scripting.FileSystemObject")
'creo el objeto disco C:
set discoC = FSO.GetDrive("c")
'Tomo el directorio raiz
set raiz = discoC.rootFolder
'extraigo la coleccion de carpetas
set coleccionCarpetas = raiz.subFolders
'para cada carpeta imprimo su nombre y su camino completo desde la raiz
for each carpeta in coleccionCarpetas
response.write "<b>Carpeta " & carpeta.name & "</b>:<br>"
response.write "Path: " & carpeta.path
response.write ", Nombre corto: " & carpeta.ShortName
response.write ", Atributos: " & carpeta.Attributes
response.write "<p>"
next
%>
El ejemplo se realiza accediendo a trav?s del m?todo GetDrive() del FSO, para obtener la unidad C. Luego, de la unidad obtenida se extrae el directorio ra?z, a trav?s de la propiedad RootFolder del objeto Drive. RootFolder es ya un objeto Folder y como tal tiene una colecci?n de subcarpetas en su propiedad SubFolders.
A la colecci?n de subcarpetas de nuestro directorio ra?z se le hace un recorrido con un bucle FOR EACH. Para cada carpeta se escribe su nombre, seguido de la ruta completa hasta la carpeta, el nombre corto que tendr?a en un sistema MS-DOS y sus atributos.
La numeraci?n de los atributos es a base de potencias de dos, as?, el atributo 17 quiere decir que tiene los atributos 16 y 1 (2 elevado a 4 y 2 elevado a 0). En castellano: un directorio de solo lectura.
En este ejemplo ya se empieza a ver la navegaci?n por el sistema de ficheros, aunque s?lo nos hayamos quedado a nivel de carpetas. El esquema es el comentado anteriormente:
FSO > GetDrive() (para obtener una unidad) > RootFolder (para obtener la carpeta ra?z de una unidad > Subfolders (para obtener la lista de subcarpetas del directorio, en este caso el ra?z).
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...