Win32_Directory 类的 Compress 方法
CompressWMI 类方法 (或对象路径中指定的目录) 压缩逻辑目录条目文件。
本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法。
语法
uint32 Compress();
参数
此方法没有任何参数。
返回值
如果文件已成功压缩,则返回值 0 (零) ,以及指示错误的任何其他数字。
-
0
-
请求已成功。
-
2
-
访问被拒绝。
-
8
-
发生未指定的故障。
-
9
-
指定的名称无效。
-
10
-
指定的对象已存在。
-
11
-
文件系统不是 NTFS。
-
12
-
平台不是 Windows。
-
13
-
驱动器不同。
-
14
-
目录不为空。
-
15
-
存在共享冲突。
-
16
-
指定的启动文件无效。
-
17
-
不保留操作所需的特权。
-
21
-
指定的参数无效。
备注
压缩提供了一种释放磁盘驱动器上额外存储空间的方法,无需购买新硬件,也无需删除文件或文件夹。 根据硬盘的大小和存储在该磁盘上的文件类型,你可能能够恢复数百兆字节的磁盘空间,从而无需购买新的硬盘驱动器,并在安装新驱动器之前使计算机脱机。
Compress 方法压缩指定文件夹中的所有文件和子文件夹。 此外, 类还包括 Uncompress 方法,该方法从文件夹中的所有文件和子文件夹中删除压缩。 CIM_Datafile 类也提供了类似的方法。 这允许有选择地压缩或解压缩文件夹中的特定文件。
由于压缩会稍微降低性能,因此不建议对例行访问的文件或文件夹使用压缩;例如,你可能不希望压缩数据库文件、日志文件或用户配置文件文件夹。 更好的压缩候选项是不经常访问的文件和文件夹。 例如,可以编写一个脚本来返回驱动器上一个月或一个多月未访问的文件夹集合,然后压缩其中每个文件夹。
压缩文件夹释放的磁盘空间量因存储在该文件夹中的文件类型而异。 例如,.jpg文件已压缩,进一步压缩对文件大小影响不大。 但是,对于其他文件类型,节省的成本可能相当大。 例如,在基于 Windows 2000 的测试计算机上创建了一个新文件夹,并将 33 个 Microsoft Word 文档复制到该文件夹中,共占用 15 MB (MB) 磁盘空间。 压缩文档后,文件夹仅占用 7 MB 的磁盘空间。
示例
以下 VBScript 示例压缩文件夹 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
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
Root\CIMV2 |
MOF |
|
DLL |
|