Biblioteca de tiempo de ejecución de Scripting  

Trabajar con unidades y carpetas

Con el modelo de objetos FileSystemObject (FSO), puede trabajar con unidades y carpetas mediante programas igual que puede hacerlo interactivamente desde el Explorador de Windows. Puede copiar y mover carpetas, obtener información acerca de unidades y carpetas, etc.

Obtener información acerca de unidades

El objeto Drive le permite obtener información acerca de las diversas unidades conectadas al sistema físicamente o a través de una red. Sus propiedades le permiten obtener información acerca de:

Vea el código de ejemplo para ver cómo se utilizan estas propiedades en FileSystemObject.

Ejemplo de uso del objeto Drive

Utilice el objeto Drive para reunir información acerca de una unidad. No verá una referencia a un objeto Drive real en el código siguiente; en su lugar, utilice el método GetDrive para obtener una referencia a un objeto Drive existente (en este caso, drv).

El ejemplo siguiente demuestra cómo utilizar el objeto Drive:

[VBScript]
Sub ShowDriveInfo(drvPath)
   Dim fso, drv, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Unidad " & UCase(drvPath) & " - "
   s = s & drv.VolumeName & "<br>"
   s = s & "Espacio total: " & FormatNumber(drv.TotalSize / 1024, 0)
   s = s & " Kb" & "<br>"
   s = s & "Espacio libre: " & FormatNumber(drv.FreeSpace / 1024, 0)
   s = s & " Kb" & "<br>"
   Response.Write s
End Sub
[JScript]
function ShowDriveInfo1(drvPath)
{
   var fso, drv, s ="";
   fso = new ActiveXObject("Scripting.FileSystemObject");
   drv = fso.GetDrive(fso.GetDriveName(drvPath));
   s += "Unidad " + drvPath.toUpperCase()+ " - ";
   s += drv.VolumeName + "<br>";
   s += "Espacio total: " + drv.TotalSize / 1024;
   s += " Kb" + "<br>"; 
   s += "Espacio libre: " + drv.FreeSpace / 1024;
   s += " Kb" + "<br>";
   Response.Write(s);
}

Trabajar con carpetas

Las tareas comunes de carpetas y los métodos para realizarlas se describen en la tabla siguiente.

Tarea Método
Crear una carpeta. FileSystemObject.CreateFolder
Eliminar una carpeta. Folder.Delete o FileSystemObject.DeleteFolder
Mover una carpeta. Folder.Move o FileSystemObject.MoveFolder
Copiar una carpeta. Folder.Copy o FileSystemObject.CopyFolder
Recuperar el nombre de una carpeta. Folder.Name
Averiguar si existe una carpeta en una unidad. FileSystemObject.FolderExists
Obtener una instancia de un objeto Folder existente. FileSystemObject.GetFolder
Averiguar el nombre de la carpeta primaria de una carpeta. FileSystemObject.GetParentFolderName
Averiguar la ruta de las carpetas del sistema. FileSystemObject.GetSpecialFolder

Consulte el código de ejemplo para ver cómo se utilizan muchos de estos métodos y propiedades en FileSystemObject.

El ejemplo siguiente demuestra cómo utilizar los objetos Folder y FileSystemObject para tratar las carpetas y obtener información acerca de ellas:

[VBScript]
Sub ShowFolderInfo()
   Dim fso, fldr, s
   ' Obtener instancia de FileSystemObject.
   Set fso = CreateObject("Scripting.FileSystemObject")
   ' Obtener objeto Drive.
   Set fldr = fso.GetFolder("c:")
   ' Imprimir nombre de la carpeta primaria.
   Response.Write "El nombre de la carpeta primaria es: " & fldr & "<br>"
   ' Imprimir nombre de la unidad.
   Response.Write "Se encuentra en la unidad " & fldr.Drive & "<br>"
   ' Imprimir nombre del archivo raíz.
   If fldr.IsRootFolder = True Then
      Response.Write "Esta es la carpeta raíz." & ""<br>"<br>"
   Else
      Response.Write "Esta carpeta no es una carpeta raíz." & "<br><br>" 
   End If
   ' Crear una carpeta nueva con el objeto FileSystemObject.
   fso.CreateFolder ("C:\Bogus")
   Response.Write "Carpeta creada C:\Bogus" & "<br>"
   ' Imprimir el nombre base de la carpeta.
   Response.Write "Nombre base = " & fso.GetBaseName("c:\bogus") & "<br>"
   ' Eliminar la carpeta recién creada.
   fso.DeleteFolder ("C:\Bogus")
   Response.Write "Carpeta eliminada C:\Bogus" & "<br>"
End Sub
[JScript]
function ShowFolderInfo()
{
   var fso, fldr, s = "";
   // Obtener instancia de FileSystemObject.
   fso = new ActiveXObject("Scripting.FileSystemObject");
   // Obtener objeto Drive.
   fldr = fso.GetFolder("c:");
   // Imprimir nombre de carpeta primaria.
   Response.Write("El nombre de la carpeta primaria es: " + fldr + "<br>");
   // Imprimir nombre de la unidad.
   Response.Write("Se encuentra en la unidad" + fldr.Drive + "<br>");
   // Imprimir nombre del archivo raíz.
   if (fldr.IsRootFolder)
      Response.Write("Esta es la carpeta raíz.");
   else
      Response.Write("Esta carpeta no es una carpeta raíz.");
   Response.Write("<br><br>");
   // Crear una carpeta nueva con el objeto FileSystemObject.
   fso.CreateFolder ("C:\\Bogus");
   Response.Write("Carpeta creada C:\\Bogus" + "<br>");
   // Imprimir el nombre base de la carpeta.
   Response.Write("Nombre base = " + fso.GetBaseName("c:\\bogus") + "<br>");
   // Eliminar la carpeta recién creada.
   fso.DeleteFolder ("C:\\Bogus");
   Response.Write("Carpeta eliminada C:\\Bogus" + "<br>");
}
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.