Método Compress de la clase Win32_Directory
El método de clase CompressWMI comprime el archivo de entrada de directorio lógico (o directorio) especificado en la ruta de acceso del objeto.
En este tema se usa la sintaxis de Managed Object Format (MOF). Para obtener más información sobre el uso de este método, vea Llamar a un método.
Sintaxis
uint32 Compress();
Parámetros
Este método no tiene parámetros.
Valor devuelto
Devuelve un valor de 0 (cero) si el archivo se comprimió correctamente y cualquier otro número para indicar un error.
-
0
-
La solicitud fue correcta.
-
2
-
Se denegó el acceso.
-
8
-
Error no especificado.
-
9
-
El nombre especificado no era válido.
-
10
-
El objeto especificado ya existe.
-
11
-
El sistema de archivos no es NTFS.
-
12
-
La plataforma no es Windows.
-
13
-
La unidad no es la misma.
-
14
-
El directorio no está vacío.
-
15
-
Ha habido una infracción de uso compartido.
-
16
-
El archivo de inicio especificado no era válido.
-
17
-
No se mantiene un privilegio necesario para la operación.
-
21
-
Un parámetro especificado no es válido.
Comentarios
La compresión proporciona una manera de liberar espacio de almacenamiento adicional en una unidad de disco sin adquirir hardware nuevo y sin quitar archivos o carpetas. Dependiendo del tamaño del disco duro y del tipo de archivos almacenados en ese disco, es posible que pueda recuperar cientos de megabytes de espacio en disco y, por tanto, impedir la necesidad de comprar una nueva unidad de disco duro y desconectar el equipo hasta que se instale la nueva unidad.
El método Compress comprime todos los archivos y subcarpetas dentro de una carpeta especificada. Además, la clase también incluye un método Uncompress que quita la compresión de todos los archivos y subcarpetas de una carpeta. También se proporcionan métodos similares con la clase CIM_Datafile. Esto le permite comprimir o descomprimir de forma selectiva archivos específicos dentro de una carpeta.
Dado que la compresión imparte una ligera penalización de rendimiento, no se recomienda para los archivos o carpetas a los que se accede de forma rutinaria; por ejemplo, probablemente no quiera comprimir archivos de base de datos, archivos de registro o carpetas de perfil de usuario. Los mejores candidatos para la compresión son archivos y carpetas a los que no se accede con mucha frecuencia. Por ejemplo, puede escribir un script para devolver una colección de carpetas en una unidad a la que no se ha accedido durante un mes o más y, a continuación, comprimir cada una de esas carpetas.
La cantidad de espacio en disco liberado por la compresión de carpetas varía según el tipo de archivos almacenados en esa carpeta. Por ejemplo, .jpg archivos ya están comprimidos y la compresión adicional tiene poco efecto en el tamaño del archivo. Sin embargo, con otros tipos de archivo, el ahorro puede ser considerable. Por ejemplo, se creó una nueva carpeta en un equipo de prueba basado en Windows 2000 y 33 documentos de Microsoft Word, que ocuparon un total de 15 megabytes (MB) de espacio en disco, se copiaron en esa carpeta. Cuando los documentos se comprimieron, la carpeta solo tardó 7 MB de espacio en disco.
Ejemplos
El siguiente ejemplo de VBScript comprime la carpeta C:\Scripts.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("SELECT * FROM Win32_Directory WHERE Name = 'c:\\Scripts'")
For Each objFolder in colFolders
errResults = objFolder.Compress
Wscript.Echo errResults
Next
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Espacio de nombres |
Root\CIMV2 |
MOF |
|
Archivo DLL |
|