Класс Win32_Directory

Класс WMIWin32_Directory представляет запись каталога в системе компьютера под управлением Windows. Каталог — это тип файла, который логически группировал файлы данных и предоставлял сведения о пути к сгруппированным файлам. Пример: C:\TEMP. Win32_Directory не включает каталоги сетевых дисков.

Следующий пример синтаксиса — упрощенный MOF-код, который включает все наследуемые свойства. Свойства перечислены в алфавитном порядке, а не в порядке MOF.

Синтаксис

[Dynamic, Provider("CIMWin32"), UUID("{8502C4C7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_Directory : CIM_Directory
{
  string   Caption;
  string   Description;
  datetime InstallDate;
  string   Name;
  string   Status;
  uint32   AccessMask;
  boolean  Archive;
  boolean  Compressed;
  string   CompressionMethod;
  string   CreationClassName;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Drive;
  string   EightDotThreeFileName;
  boolean  Encrypted;
  string   EncryptionMethod;
  string   Extension;
  string   FileName;
  uint64   FileSize;
  string   FileType;
  string   FSCreationClassName;
  string   FSName;
  boolean  Hidden;
  uint64   InUseCount;
  datetime LastAccessed;
  datetime LastModified;
  string   Path;
  boolean  Readable;
  boolean  System;
  boolean  Writeable;
};

Члены

Класс Win32_Directory имеет следующие типы членов:

Методы

Класс Win32_Directory содержит следующие методы.

Метод Описание
ChangeSecurityPermissions Метод класса, который изменяет разрешения безопасности для логического файла, указанного в пути к объекту.
ChangeSecurityPermissionsEx Метод класса, который изменяет разрешения безопасности для логического файла, указанного в пути к объекту.
Сжать Метод класса, который сжимает логический файл (или каталог), указанный в пути к объекту.
CompressEx Метод класса, который сжимает логический файл (или каталог), указанный в пути к объекту.
Копировать Метод класса, копирующий логический файл или каталог, указанный в пути к объекту, в расположение, указанное входным параметром.
CopyEx Метод класса, копирующий логический файл или каталог, указанный в пути к объекту, в расположение, указанное параметром FileName .
Удалить Метод класса, который удаляет логический файл (или каталог), указанный в пути к объекту.
DeleteEx Метод класса, который удаляет логический файл (или каталог), указанный в пути к объекту.
GetEffectivePermission Метод класса, который определяет, имеет ли вызывающий объект агрегированные разрешения, заданные аргументом Permissions , не только для объекта файла, но и для общей папки, в которой находится файл или каталог (если он находится в общей папке).
Переименовать Метод класса, который переименовывает логический файл (или каталог), указанный в пути к объекту.
TakeOwnerShip Метод класса, который получает право владения логическим файлом, указанным в пути к объекту.
TakeOwnerShipEx Метод класса, который получает право владения логическим файлом, указанным в пути к объекту.
Распаковать Метод класса, который распаковывает логический файл (или каталог), указанный в пути к объекту.
UncompressEx Метод класса, который распаковывает логический файл (или каталог), указанный в пути к объекту.

Свойства

Класс Win32_Directory имеет следующие свойства.

AccessMask

Тип данных: uint32

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Access Rights")

Битовая маска, представляющая права доступа, необходимые для доступа к каталогу или выполнения определенных операций. Битовые значения см. в разделе Константы прав доступа к файлам и каталогам.

Примечание

На томах FAT вместо этого возвращается значение FULL_ACCESS , указывающее, что для объекта не задана безопасность.

Это свойство наследуется от CIM_LogicalFile.

FILE_READ_DATA (файл) или FILE_LIST_DIRECTORY (каталог) (1)

Предоставляет право на чтение данных из файла. Для каталога это значение дает право на перечисление содержимого каталога.

FILE_WRITE_DATA (файл) или FILE_ADD_FILE (каталог) (2)

Предоставляет право на запись данных в файл. Для каталога это значение предоставляет право на создание файла в каталоге.

FILE_APPEND_DATA (файл) или FILE_ADD_SUBDIRECTORY (4)

Предоставляет право на добавление данных в файл. Для каталога это значение предоставляет право на создание подкаталога.

FILE_READ_EA (8)

Предоставляет право на чтение расширенных атрибутов.

FILE_WRITE_EA (16)

Предоставляет право на запись расширенных атрибутов.

FILE_EXECUTE (файл) или FILE_TRAVERSE (каталог) (32)

Предоставляет право на выполнение файла. Каталог можно просмотреть для каталога.

FILE_DELETE_CHILD (каталог) (64)

Предоставляет право удалять каталог и все содержащиеся в нем файлы (его дочерние элементы), даже если файлы доступны только для чтения.

FILE_READ_ATTRIBUTES (128)

Предоставляет право на чтение атрибутов файла.

FILE_WRITE_ATTRIBUTES (256)

Предоставляет право изменять атрибуты файла.

DELETE (65536)

Предоставляет доступ к удалению.

READ_CONTROL (131072)

Предоставляет доступ на чтение дескриптору безопасности и владельцу.

WRITE_DAC (262144)

Предоставляет доступ на запись к дискреционному ACL.

WRITE_OWNER (524288)

Назначает владельца записи.

SYNCHRONIZE (1048576)

Синхронизирует доступ и позволяет процессу ждать, пока объект перейдет в состояние сигнала.

ACCESS_SYSTEM_SECURITY (18809343)

Управляет возможностью получения или задания saCL в дескрипторове безопасности объекта.

Архив

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Следует архивировать")

Указывает, задан ли архивный бит в папке. Архивный бит используется программами резервного копирования для определения файлов, которые должны быть архивированы. Если задано значение True, файл должен быть архивирован.

Это свойство наследуется от CIM_LogicalFile.

Caption

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: MaxLen (64), DisplayName ("Caption")

Краткое текстовое описание объекта.

Это свойство наследуется от CIM_ManagedSystemElement.

Compressed

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Сжатый")

Указывает, была ли сжата папка. WMI распознает папки, сжатые с помощью самого инструментария WMI или графического пользовательского интерфейса; Однако он не распознает .ZIP файлы как сжатые. Если задано значение True, файл сжимается.

Это свойство наследуется от CIM_LogicalFile.

CompressionMethod

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Метод сжатия")

Алгоритм или средство (обычно это метод), используемые для сжатия логического файла. Если невозможно (или не требуется) описать схему сжатия (возможно, из-за того, что она неизвестна), используйте следующие слова: "Неизвестно", чтобы указать, что неизвестно, сжимается ли логический файл; "Сжатый", который означает, что файл сжат, но либо его схема сжатия не известна, либо не раскрыта; и "Не сжато", чтобы указать, что логический файл не сжат.

Это свойство наследуется от CIM_LogicalFile.

CreationClassName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: CIM_Key, DisplayName ("Имя класса")

Имя первого конкретного класса, отображаемого в цепочке наследования, используемой при создании экземпляра. При использовании с другими ключевыми свойствами класса это свойство позволяет уникально идентифицировать все экземпляры этого класса и его подклассы.

Это свойство наследуется от CIM_LogicalFile.

CreationDate

Тип данных: datetime

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Дата создания")

Дата создания объекта файловой системы. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.

Это свойство наследуется от CIM_LogicalFile.

CSCreationClassName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: распространяется ("CIM_FileSystem. CSCreationClassNameCIM_Key,DisplayName ("Computer System Class Name")

Имя класса создания системы компьютера с областью действия.

Это свойство наследуется от CIM_LogicalFile.

CSName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: распространяется ("CIM_FileSystem. CSName"), CIM_Key, DisplayName ("Имя системы компьютера")

Имя компьютера, на котором хранится объект файловой системы.

Это свойство наследуется от CIM_LogicalFile.

Описание

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Описание")

Текстовое описание объекта.

Это свойство наследуется от CIM_ManagedSystemElement.

Диске

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Диск")

Буква диска (включая двоеточие), на котором хранится объект файловой системы.

Пример: "c:"

Это свойство наследуется от CIM_LogicalFile.

EightDotThreeFileName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Восемь точек три имени файла")

Имя папки, совместимое с MS-DOS.

Пример: "c:\progra~1"

Это свойство наследуется от CIM_LogicalFile.

Зашифрована

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Encrypted")

Указывает, была ли папка зашифрована. Если задано значение True, папка шифруется.

Это свойство наследуется от CIM_LogicalFile.

EncryptionMethod

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Метод шифрования")

Алгоритм или средство, используемое для шифрования логического файла. Если невозможно (или не требуется) описать схему шифрования (возможно, из соображений безопасности), используйте следующие слова: "Неизвестно", чтобы указать, что неизвестно, зашифрован ли логический файл; "Зашифровано", которое означает, что файл зашифрован, но либо его схема шифрования не известна, либо не раскрыта; и "Не зашифровано", чтобы указать, что логический файл не зашифрован.

Это свойство наследуется от CIM_LogicalFile.

Расширение

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Расширение файла")

Расширение имени файла для объекта файловой системы, не включая точку (.), которая отделяет расширение от имени файла.

Примеры: txt, mof, mdb

Это свойство наследуется от CIM_LogicalFile.

FileName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Имя файла")

Имя файла (без точки или расширения).

Пример: "autoexec"

Это свойство наследуется от CIM_LogicalFile.

FileSize

Тип данных: uint64

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Size"), Units ("байты")

Размер объекта файловой системы в байтах. Хотя папки имеют свойство FileSize , всегда возвращается значение 0. Чтобы определить размер папки, используйте FileSystemObject или добавьте размер всех файлов, хранящихся в папке.

Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.

Это свойство наследуется от CIM_LogicalFile.

FileType

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Тип файла")

Тип файла (обозначается свойством Extension ).

Например, MDB-файл, скорее всего, имеет тип файла Microsoft Access Application. ASP-файл, скорее всего, имеет тип HTML Document. Папки обычно сообщаются просто как Папка.

Это свойство наследуется от CIM_LogicalFile.

FSCreationClassName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Распространяется ("CIM_FileSystem. CreationClassName"), CIM_Key, DisplayName ("Имя класса файловой системы")

Класс файловой системы.

Это свойство наследуется от CIM_LogicalFile.

FSName

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Распространяется ("CIM_FileSystem. Name"), CIM_Key, DisplayName ("Имя файловой системы")

Тип файловой системы (NTFS, FAT, FAT32), установленной на диске, где находится файл или папка.

Это свойство наследуется от CIM_LogicalFile.

Скрыта

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Hidden")

Указывает, скрыт ли объект файловой системы. Если задано значение True, файл скрыт.

Это свойство наследуется от CIM_LogicalFile.

InstallDate

Тип данных: datetime

Тип доступа: только для чтения

Квалификаторы: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Дата установки")

Указывает, когда был установлен объект . Отсутствие значения не означает, что объект не установлен.

Это свойство наследуется от CIM_ManagedSystemElement.

InUseCount

Тип данных: uint64

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Текущее число открытых файлов")

Число открытых файлов, которые в данный момент активны в отношении файла.

Это свойство наследуется от CIM_LogicalFile.

Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.

LastAccessed

Тип данных: datetime

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Последний доступ")

Дата последнего доступа к файлу. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.

Это свойство наследуется от CIM_LogicalFile.

LastModified

Тип данных: datetime

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Последнее изменение")

Дата последнего изменения файла. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.

Это свойство наследуется от CIM_LogicalFile.

имя;

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Ключ

Свойство Name — это строка, представляющая наследуемое имя, которое служит ключом экземпляра логического файла в файловой системе. Необходимо указать полные имена путей. Пример: C:\Windows\system\win.ini

Это свойство наследуется от CIM_LogicalFile.

Путь

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: Исправлено, схема ("Win32"), DisplayName ("Путь")

Путь к файлу. Путь включает в себя начальные и конечные обратные косые знаки, но не букву диска или имя папки.

Для папки c:\windows\system32\wbem путь — \windows\system32\. Путь к папке c:\scripts — \.

Это свойство наследуется от CIM_LogicalFile.

Читаемым

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Readable")

Указывает, можно ли читать элементы в папке. Если задано значение True, файл можно считать.

Это свойство наследуется от CIM_LogicalFile.

Состояние

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: MaxLen (10), DisplayName ("Status")

Строка, указывающая текущее состояние объекта.

Это свойство наследуется от CIM_ManagedSystemElement.

В эти значения входят:

ОК ("ОК")

Ошибка ("Ошибка")

Пониженный ("Пониженный")

Unknown ("Unknown")

Pred Fail ("Pred Fail")

Запуск ("Начало")

Остановка ("Остановка")

Служба ("Служба")

Подчеркнуто ("Подчеркнуто")

NonRecover ("NonRecover")

Нет контакта ("Нет контакта")

Lost Comm ("Lost Comm")

Системные функции

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: Schema ("Win32"), DisplayName ("Системный файл")

Указывает, является ли объект системным файлом. Если задано значение True, файл является системным файлом.

Это свойство наследуется от CIM_LogicalFile.

Writeable (Доступно для записи)

Тип данных: boolean

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Writeable")

Если задано значение True, файл можно записать.

Это свойство наследуется от CIM_LogicalFile.

Комментарии

Класс Win32_Directory является производным от CIM_Directory.

Обзор

Папки — это объекты файловой системы, предназначенные для хранения других объектов файловой системы. Однако это не означает, что все папки одинаковы. Вместо этого папки могут значительно отличаться. Некоторые папки являются папками операционной системы, которые обычно не должны изменяться скриптом. Некоторые папки доступны только для чтения. Это означает, что пользователи могут получать доступ к содержимому этой папки, но не могут добавлять, удалять их или изменять. Некоторые папки сжимаются для оптимального хранения, а другие скрыты и не видны пользователям.

WMI использует класс Win32_Directory для управления папками. Примечательно, что свойства и методы, доступные в этом классе, идентичны свойствам и методам, доступным в классе CIM_DataFile , который используется для управления файлами. Это означает, что после того, как вы научились управлять папками с помощью WMI, вы без каких-либо дополнительных трудов будете знать, как управлять файлами.

Класс ассоциации Win32_Subdirectory также используется для управления файлами и папками. Класс Win32_Subdirectory связывает папку и ее непосредственные вложенные папки. Например, в структуре папок C:\Scripts\Logs журналы являются вложенной папкой Scripts, а Scripts — вложенной папкой корневой папки C:\. Однако журналы не считаются вложенной папкой C:\.

Свойства любой папки в файловой системе можно получить с помощью класса Win32_Directory . Свойства, доступные с помощью этого класса, показаны в таблице 11.1. Чтобы получить свойства для одной папки, создайте запрос языка запросов Windows (WQL) для класса Win32_Directory , включив имя папки. Например, этот запрос привязывается к папке D:\Archive:

Copy "SELECT * FROM Win32_Directory WHERE Name = 'D:\\Archive'"

При указании имени файла или папки в WQL-запросе обязательно используйте две обратные косые черти (\\) для разделения компонентов пути.

Если вы хотите ограничить извлечение данных одним диском, добавьте предложение Where, указывающее букву диска. Например, этот запрос возвращает список всех папок на диске C:

"SELECT * FROM Win32_Directory WHERE Drive = 'C:'"

Если необходимо перечислить все папки на компьютере, имейте в виду, что выполнение этого запроса может занять длительное время.

Примеры

В следующем примере 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
 Wscript.Echo "Archive: " & objFolder.Archive
 Wscript.Echo "Caption: " & objFolder.Caption
 Wscript.Echo "Compressed: " & objFolder.Compressed
 Wscript.Echo "Compression method: " & objFolder.CompressionMethod
 Wscript.Echo "Creation date: " & objFolder.CreationDate
 Wscript.Echo "Encrypted: " & objFolder.Encrypted
 Wscript.Echo "Encryption method: " & objFolder.EncryptionMethod
 Wscript.Echo "Hidden: " & objFolder.Hidden
 Wscript.Echo "In use count: " & objFolder.InUseCount
 Wscript.Echo "Last accessed: " & objFolder.LastAccessed
 Wscript.Echo "Last modified: " & objFolder.LastModified
 Wscript.Echo "Name: " & objFolder.Name
 Wscript.Echo "Path: " & objFolder.Path
 Wscript.Echo "Readable: " & objFolder.Readable
 Wscript.Echo "System: " & objFolder.System
 Wscript.Echo "Writeable: " & objFolder.Writeable
Next

Следующий пример VBScript возвращает список всех скрытых папок на компьютере.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Hidden = True")
For Each objFile in colFiles
 Wscript.Echo objFile.Name
Next

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

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

CIM_Directory

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