Поделиться через


Метод Compress класса Win32_Directory

Метод класса 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 МБ места на диске. При сжатии документов папка занимала всего 7 МБ места на диске.

Примеры

Следующий пример 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
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

Классы операционной системы

Win32_Directory

Распаковать