¿Estás buscando una solución efectiva y confiable para gestionar tus archivos en ASP? Entonces no puedes perderte este artículo sobre el objeto de sistema de archivos ASP, una herramienta esencial para el desarrollo web. En TIEngranaje te mostramos todo lo que necesitas saber para sacar el máximo provecho de esta funcionalidad y mejorar la eficiencia de tu sitio. ¡No te lo pierdas!
En ASP, el FileSystemObject
se puede utilizar para acceder al sistema de archivos en un servidor web. El acceso a la información de archivos, carpetas y unidades en el servidor web se completa mediante este objeto.
Antes de poder acceder a información específica sobre el sistema de archivos, primero debe crear el FileSystemObject
. En el siguiente ejemplo, crearemos y destruiremos un FileSystemObject
.
<%
Dim fsObj
Set fsObj = Server.CreateObject("Scripting.FileSystemObject")
Set fsObj = nothing
%>
El FileSystemObject
El objeto, como otros objetos ASP, tiene sus propias propiedades y métodos.
Propiedades
Propiedad | Descripción |
---|---|
Drives |
Devuelve una colección de todos los objetos de Drive en el servidor |
Métodos
Método | Descripción |
---|---|
BuildPath |
Agrega un nombre a una ruta existente |
CopyFile |
Copia uno o más archivos de una ubicación a otra |
CopyFolder |
Copia una o más carpetas de una ubicación a otra |
CreateFolder |
Crea una nueva carpeta |
CreateTextFile |
Crear un archivo de texto o escribir en un archivo |
DeleteFile |
Elimina uno o más archivos especificados |
DeleteFolder |
Elimina una o más carpetas especificadas |
DriveExists |
Comprueba si existe una unidad específica |
FileExists |
Comprueba si existe un archivo especificado |
FolderExists |
Comprueba si existe una carpeta específica |
GetAbsolutePathName |
Devuelve la ruta completa desde la raíz de la unidad para la ruta especificada |
GetBaseName |
Devuelve el nombre base de un archivo o carpeta especificado |
GetDrive |
Devuelve un Drive objeto correspondiente a la unidad en una ruta especificada |
GetDriveName |
Devuelve el nombre de la unidad de una ruta especificada |
GetExtensionName |
Devuelve el nombre de la extensión de archivo del último componente en una ruta especificada |
GetFile |
Devuelve un File objeto para una ruta especificada |
GetFileName |
Devuelve el nombre del archivo o el nombre de la carpeta del último componente en una ruta especificada |
GetFolder |
Devuelve un Folder objeto para una ruta especificada |
GetParentFolderName |
Devuelve el nombre de la carpeta principal del último componente en una ruta especificada |
GetSpecialFolder |
Devuelve la ruta a algunas de las carpetas del sistema operativo. |
GetTempName |
Devuelve un archivo o carpeta temporal generado aleatoriamente |
MoveFile |
Mueve uno o más archivos de una ubicación a otra |
MoveFolder |
Mueve una o más carpetas de una ubicación a otra |
OpenTextFile |
Abre un archivo y devuelve un TextStream objeto que se puede utilizar para acceder al archivo |
Métodos comunes
Construir camino
BuildPath
le permite crear una cadena de ruta desde una ruta raíz y una carpeta a la que navegar. Ni de los dos parámetros son necesarios para representar archivos reales en el sistema de archivos para construir la cadena de ruta.
Puedes usar absoluto o referencias relativas al construir la cadena de ruta. Esta función podría utilizarse para crear una interfaz de tipo “explorador”.
<%
Dim fsObj, newPath
Set fsObj = CreateObject("Scripting.FileSystemObject")
newPath = fsObj.BuildPath("path", "append")
Response.Write(newPath)
%>
Copiar archivo
El CopyFile
El método copia uno o más archivos de una ubicación a otra. Sintaxis: FileSystemObject.CopyFile source,destination[,overwrite]
<%
Dim fsObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
fsObj.CopyFile "c:\website\folder1\*.htm","c:\website\folder2\"
Set fsObj=nothing
%>
Copiar carpeta
El CopyFolder
El método copia una o más carpetas de una ubicación a otra. Sintaxis: FileSystemObject.CopyFolder source,destination[,overwrite]
<%
Dim fsObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
fsObj.CopyFolder "c:\website\*","c:\website\archive\"
Set fsObj=nothing
%>
Crear carpeta
El CreateFolder
método crea una nueva carpeta en el servidor. Sintaxis: FileSystemObject.CreateFolder(name)
<%
Dim fsObj,fObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
Set fObj=fsObj.CreateFolder("c:\website\folder1")
Set fObj=nothing
Set fsObj=nothing
%>
Crear archivo de texto
El CreateTextFile
método crea un nuevo archivo de texto y devuelve un TextStream
objeto que se puede utilizar para leer o escribir en el archivo. Especificar false
sobre el CreateTextFile
parámetro para no sobrescribir los archivos existentes. Este es un valor opcional. Sobrescribir un archivo existente es True
por defecto.
<%
Dim fsObj,folderObj,fileObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
Set folderObj=fsObj.GetFolder("c:\temp")
Set fileObj=folderObj.CreateTextFile("temp.txt",false)
fileObj.WriteLine("Hello World!")
fileObj.Close
Set fileObj=nothing
Set folderObj=nothing
Set fsObj=nothing
%>
Comprobación y eliminación de archivos y carpetas
El FileExists
y FolderExists
métodos comprueban archivos y carpetas. El DeleteFile
y DeleteFolder
Los métodos eliminan una o más carpetas especificadas. Un error ocurrirá si intenta eliminar un archivo y/o carpeta que no existe.
Syntax:
FileSystemObject.DeleteFile(filename[,force])
FileSystemObject.DeleteFolder(foldername[,force])
Set the force value to True to force the deletion of read-only files or folders. Default is false.
Example:
<%
Dim fsObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
if fsObj.FileExists("c:\temp\test.txt") then
fsObj.DeleteFile("c:\temp\test.txt")
end if
if fsObj.FolderExists("c:\temp") then
fsObj.DeleteFolder("c:\temp")
end if
set fsObj=nothing
%>
Abrir archivos de texto
Abrir, leer y/o escribir en un archivo de texto es una práctica muy común. El OpenTextFile
método abre un archivo especificado y devuelve un TextStream
objeto que se puede utilizar para acceder al archivo.
Syntax:
FileSystemObject.OpenTextFile(filename,mode,create,format)
En el sintaxis arriba, el primer parámetro, filename
es el único parámetro requerido. Los otros tres: mode
, create
y format
son opcionales. El filename
especifica el nombre del archivo a abrir. El mode
instruye a ASP sobre cómo abrir el archivo. Las opciones son 1, 2 u 8 (Leer, Escribir o Agregar a un archivo existente).
El siguiente parámetro define si se crea un nuevo archivo si el nombre especificado no existe. El valor predeterminado es false
. El parámetro final se ocupa del formato. La configuración predeterminada es 0
que indica ASCII. un ajuste de -1
indica Unicode y -2
indica que se utilice el valor predeterminado del sistema.
Syntax:
FileSystemObject.DeleteFile(filename[,force])
FileSystemObject.DeleteFolder(foldername[,force])
Set the force value to True to force the deletion of read-only files or folders. Default is false.
Example:
<%
Dim fsObj,fObj
Set fsObj=Server.CreateObject("Scripting.FileSystemObject")
Set fObj=fsObj.OpenTextFile("c:\temp\test.txt",8,true)
fObj.WriteLine("This text will be added to the end of file")
fObj.Close
Set fObj=Nothing
Set fsObj=Nothing
%>