Метод 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 |
|
DLL |
|