Biblioteca de tiempo de ejecución de Scripting  

Programar FileSystemObject

Para programar con el modelo de objetos FileSystemObject (FSO):

El modelo de objetos FSO está contenido en la biblioteca de tipos de secuencias de comandos, que se encuentra en el archivo Scrrun.dll. Por lo tanto, debe tener Scrrun.dll en el directorio de sistema apropiado en su servidor Web para utilizar el modelo de objetos FSO.

Crear un Objeto FileSystemObject

Primero, cree un objeto FileSystemObject utilizando el método CreateObject. El código siguiente muestra cómo crear una instancia de FileSystemObject:

[VBScript]
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
[JScript]
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");

En estos dos ejemplos, Scripting es el nombre de la biblioteca de tipos y FileSystemObject es el nombre del objeto que desea crear. Sólo puede crear una instancia del objeto FileSystemObject, independientemente de cuántas veces intente crear otra.

Utilizar el método apropiado

Segundo, utilice el método apropiado del objeto FileSystemObject. Por ejemplo, para crear un objeto nuevo, utilice CreateTextFile o CreateFolder (el modelo de objetos FSO no es compatible con la creación o eliminación de las unidades).

Para eliminar objetos, utilice los métodos DeleteFile y DeleteFolder del objeto FileSystemObject o el método Delete de los objetos File y Folder. También puede copiar y mover archivos y carpetas utilizando los métodos apropiados.

Nota   Parte de la funcionalidad en el modelo de objetos FileSystemObject es redundante. Por ejemplo, puede copiar un archivo utilizando el método CopyFile del objeto FileSystemObject o puede utilizar el método Copy del objeto File. Los métodos funcionan de la misma manera; existen los dos para ofrecer flexibilidad en la programación.

Tener acceso a las unidades, archivos y carpetas existentes

Para obtener acceso a una unidad, archivo o carpeta existente, utilice el correspondiente método "get" del objeto FileSystemObject:

Para obtener acceso a un archivo existente en:

[VBScript]
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\prueba.txt")

Para hacer lo mismo en JScript, utilice el código siguiente:

[JScript]
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\\prueba.txt");

No utilice los métodos "get" para objetos recién creados, puesto que las funciones "create" ya devuelven un identificador para ese objeto. Por ejemplo, si crea una nueva carpeta utilizando el método CreateFolder, no utilice el método GetFolder para acceder a sus propiedades, como Name, Path, Size, etc. Establezca como una variable la función CreateFolder para obtener un identificador para la carpeta recién creada y después tener acceso a sus propiedades, métodos y eventos.

Para establecer una variable para la función CreateFolder, utilice la sintaxis siguiente:

[VBScript]
Sub CreateFolder
   Dim fso, fldr
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldr = fso.CreateFolder("C:\MiPrueba")
   Response.Write "Carpeta creada: " & fldr.Name
End Sub
[JScript]
function CreateFolder()
{
   var fso, fldr;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   fldr = fso.CreateFolder("C:\\MiPrueba");
   Response.Write("Carpeta creada: " + fldr.Name);
}

Tener acceso a las propiedades del objeto

Una vez tenga un identificador para un objeto, puede tener acceso a sus propiedades. Por ejemplo, para obtener el nombre de una carpeta particular, cree primero una instancia del objeto y, a continuación, obtenga un identificador para ella con el método que corresponda (en este caso, el método GetFolder, puesto que ya existe la carpeta).

Utilice este código para obtener un identificador para el método GetFolder:

[VBScript]
Set fldr = fso.GetFolder("c:\")
[JScript]
var fldr = fso.GetFolder("c:\\");

Ahora que tiene un identificador para un objeto Folder, puede comprobar su propiedad Name.

[VBScript]
Response.Write "El nombre de la carpeta es: " & fldr.Name
[JScript]
Response.Write("El nombre de la carpeta es: " + fldr.Name);

Para averiguar la última vez que se modificó un archivo, utilice la siguiente sintaxis:

[VBScript]
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' Obtener un objeto File que consultar.
Set f1 = fso.GetFile("c:\detlog.txt")  
' Imprimir la información.
Response.Write "Última modificación del archivo: " & f1.DateLastModified 
[JScript]
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Obtener un objeto File que consultar.
f1 = fso.GetFile("c:\\detlog.txt");  
// Imprimir la información.
Response.Write("Última modificación del archivo: " + f1.DateLastModified); 
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.