Objeto de sistema de archivos ASP | TIEngranaje

¿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, createy 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
%>

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario