Está en la página 1de 2

Crear el objeto FileSystemObject

Antes de manipular archivos de texto, cree el objeto FSO del siguiente modo:

Código de VBScript
Dim objFSO Set objFSO = CreateObject("Scripting.FileSystemObject")

Cómo crear, abrir y eliminar archivos de texto


El objeto FSO expone el método CreateTextFile, que permite crear un archivo de texto vacío.
También expone los métodos OpenTextFile y DeleteFile, que permiten abrir o eliminar un
archivo existente, respectivamente. De forma alternativa, puede utilizar el objeto File para
realizar cualquiera de estas tres operaciones. Para obtener una instancia del objeto File, llame al
método GetFile de FSO. No obstante, este artículo sólo demuestra los métodos directos de FSO.
Consulte la sección "Referencias" para obtener más información acerca de las técnicas del objeto
File.

El método OpenTextFile permite abrir archivos para leer, escribir o anexar información de texto.

Código de VBScript
Dim objFSO, objCreatedFile, objOpenedFile Const ForReading = 1,
ForWriting = 2, ForAppending = 8 'Create the FSO. Set objFSO =
CreateObject("Scripting.FileSystemObject") Set objCreatedFile =
objFSO.CreateTextFile("c:\HowToDemoFile.txt", True) Set objOpenedFile
= objFSO.OpenTextFile("c:\HowToDemoFile2.txt", ForWriting, True) 'Use
objCreatedFile and objOpenedFile to manipulate the corresponding
files. objCreatedFile.Close objOpenedFile.Close 'Delete the files.
objFSO.DeleteFile "c:\HowToDemoFile.txt" objFSO.DeleteFile "c:\
HowToDemoFile2.txt"

Cómo leer y escribir un archivo de texto


Los métodos CreateTextFile o OpenTextFile de FSO devuelven una instancia del objeto
TextStream, que expone métodos para leer o escribir archivos de texto.

Los métodos Write y WriteLine agregan texto a un archivo abierto, pero el método WriteLine
también anexa un carácter de nueva línea al final. El método WriteBlankLines escribe una o
varias líneas en blanco en un archivo abierto en función del parámetro especificado.

El método Read lee un número de caracteres determinado desde la posición actual del archivo
abierto. El método ReadLine lee una línea entera (hasta llegar al carácter de línea nueva, pero sin
incluirlo), mientras que el método ReadAll lee todo el contenido del archivo abierto. Estos tres
métodos almacenan el texto resultante en una cadena que se puede manipular fácilmente con
varias operaciones de manipulación de cadenas.

El código siguiente demuestra estos métodos:

Código de VBScript
Dim objFSO, objTextFile Dim sRead, sReadLine, sReadAll Const
ForReading = 1, ForWriting = 2, ForAppending = 8 Set objFSO =
CreateObject("Scripting.FileSystemObject") Set objTextFile =
objFSO.CreateTextFile("c:\HowToDemoFile.txt", True) ' Write a line
with a newline character. objTextFile.WriteLine("This line is written
using WriteLine().") ' Write a line. objTextFile.Write ("This line is
written using Write().") ' Write three newline characters to the
file. objTextFile.WriteBlankLines(3) objTextFile.Close ' Open file
for reading. Set objTextFile = objFSO.OpenTextFile("c:\
HowToDemoFile.txt", ForReading) ' Use different methods to read
contents of file. sReadLine = objTextFile.ReadLine sRead =
objTextFile.Read(4) sReadAll = objTextFile.ReadAll objTextFile.Close
Cómo mover y copiar archivos de texto
FSO expone los métodos MoveFile y CopyFile, que permiten mover y copiar archivos,
respectivamente. De forma alternativa, puede utilizar el objeto File para realizar cualquiera de
estas dos operaciones. Para obtener una instancia del objeto File, llame al método GetFile de
FSO. No obstante, este artículo sólo demuestra los métodos directos de FSO. Consulte la sección
"Referencias" para obtener más información acerca de las técnicas del objeto File.

El siguiente código de ejemplo demuestra estos métodos:

Código de VBScript
Dim objFSO Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "c:\HowToDemoFile.txt", "c:\Temp\" objFSO.CopyFile
"c:\Temp\HowToDemoFile.txt", "c:\"

Solución de problemas
• Mensajes de error durante la creación de Scripting.FileSystemObject:

Este problema suele producirse habitualmente por una de las situaciones siguientes:

• ScrObj.dll no se ha instalado en el equipo de implementación.


• ScrObj.dll se ha eliminado por error.
• ScrObj.dll se ha eliminado por error del Registro COM.

Puesto que ScrObj.dll reside en la carpeta <directorio de instalación de Windows>\System32,


forma parte de las bibliotecas de vínculos dinámicos (DLL) del sistema operativo. De este
modo, en los equipos basados en Windows 2000 esta carpeta no se puede eliminar, al menos
sin recurrir a medidas extremas que pueden dañar gravemente el sistema.
• Mensajes de error durante las operaciones de manipulación de archivos:

Si las unidades tienen formato del sistema de archivos NTFS, los usuarios del grupo
Administradores pueden controlar los permisos de seguridad de todas las unidades, carpetas
y archivos. Especialmente en los servidores Web, los administradores deben aplicar permisos
con un alto nivel de seguridad para evitar el acceso no autorizado a archivos e información.
Cuando se diseña y se escribe una aplicación ASP que utiliza las técnicas de manipulación de
archivos mencionadas anteriormente, se debe prestar atención especial a los permisos de
seguridad del sistema de archivos en los equipos de implementación para evitar errores
relacionados con permisos de seguridad insuficientes.

 FileSysObj.DeleteFile( string FileName [, bool forzar] )


Elimina el archivo indicado. El archivo debe existir.
"forzar": es opcional e indica si se permite borrar archivos que tengan el atributo
"de lectura solamente".
 FileSysObj.CopyFile( string FileName, string DestPath [, bool
sobreescribir] )
Copia el archivo (o los archivos) en un nuevo directorio.
"sobreescribir": es opcional e indica si debe sobreescribirse el destino en caso de
existir.
Por defecto "sobreescribir" es verdadero. Si el origen no existe o el destino es
del tipo lectura solamente, genera error.

También podría gustarte