Win32_Directory 类
Win32_DirectoryWMI 类表示运行 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
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“访问权限”)
表示访问目录或对目录执行特定操作所需的访问权限的位掩码。 有关位值,请参阅 文件和目录访问权限常量。
注意
在 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)
-
分配写入所有者。
-
同步 (1048576)
-
同步访问并允许进程等待对象进入信号状态。
-
ACCESS_SYSTEM_SECURITY (18809343)
-
控制在对象的安全描述符中获取或设置 SACL 的能力。
存档
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“应存档”)
指示是否已设置文件夹上的存档位。 备份程序使用存档位来标识应备份的文件。 如果 为 True,则应存档文件。
此属性继承自 CIM_LogicalFile。
Caption
-
数据类型: 字符串
-
访问类型:只读
-
限定符: MaxLen (64) 、 DisplayName (“Caption”)
对象的简短文本说明。
此属性继承自 CIM_ManagedSystemElement。
Compressed
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“Compressed”)
指示文件夹是否已压缩。 WMI 识别使用 WMI 本身或使用图形用户界面压缩的文件夹;但是,它不会将.ZIP文件识别为正在压缩。 如果 为 True,则压缩该文件。
此属性继承自 CIM_LogicalFile。
CompressionMethod
-
数据类型: 字符串
-
访问类型:只读
-
限定符: DisplayName (“Compression Method”)
算法或工具 (通常是) 用于压缩逻辑文件的方法。 如果不可能 (或不需要) 描述压缩方案 (可能是因为) 未知,请使用以下单词:“未知”表示不知道是否压缩了逻辑文件;“Compressed”表示文件已压缩,但其压缩方案未知或未披露;和“未压缩”表示逻辑文件未压缩。
此属性继承自 CIM_LogicalFile。
CreationClassName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: CIM_Key、 DisplayName (“类名称”)
要显示在创建实例时使用的继承链中的第一个具体类的名称。 当与类的其他键属性一起使用时,此属性允许唯一标识此类及其子类的所有实例。
此属性继承自 CIM_LogicalFile。
CreationDate
-
数据类型: datetime
-
访问类型:只读
-
限定符: DisplayName (“创建日期”)
创建文件系统对象的日期。 有关使用 WMI 日期和时间格式的详细信息,请参阅 WMI 任务:日期和时间。
此属性继承自 CIM_LogicalFile。
CSCreationClassName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 传播 (“CIM_FileSystem。CSCreationClassName“) , CIM_Key, DisplayName (”计算机系统类名称“)
范围计算机系统的创建类名称。
此属性继承自 CIM_LogicalFile。
CSName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 传播 (“CIM_FileSystem。CSName“) 、 CIM_Key、 DisplayName (”计算机系统名称“)
存储文件系统对象的计算机的名称。
此属性继承自 CIM_LogicalFile。
描述
-
数据类型: 字符串
-
访问类型:只读
-
限定符: DisplayName (“Description”)
对象的文本说明。
此属性继承自 CIM_ManagedSystemElement。
驱动
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 固定、 架构 (“Win32”) 、 DisplayName (“Drive”)
驱动器的驱动器号 (包括存储文件系统对象的冒号) 。
示例:“c:”
此属性继承自 CIM_LogicalFile。
EightDotThreeFileName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“八点三文件名”)
文件夹的 MS-DOS 兼容名称。
示例:“c:\progra~1”
此属性继承自 CIM_LogicalFile。
已加密
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“Encrypted”)
指示文件夹是否已加密。 如果 为 True,则文件夹已加密。
此属性继承自 CIM_LogicalFile。
EncryptionMethod
-
数据类型: 字符串
-
访问类型:只读
-
限定符: DisplayName (“Encryption Method”)
用于加密逻辑文件的算法或工具。 如果不可能 (或不需要) 描述加密方案 (可能出于安全原因) ,请使用以下单词:“未知”表示不知道逻辑文件是否已加密:“Encrypted”表示文件已加密,但其加密方案未知或未披露;和“未加密”表示逻辑文件未加密。
此属性继承自 CIM_LogicalFile。
扩展名
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 固定、 架构 (“Win32”) 、 DisplayName (“文件扩展名”)
文件系统对象的文件扩展名,不包括将扩展名与文件名分隔的点 (.) 。
示例:“txt”、“mof”、“mdb”
此属性继承自 CIM_LogicalFile。
FileName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 固定、 架构 (“Win32”) 、 DisplayName (“文件名”)
文件名 (不带文件的点或扩展名) 。
示例:“autoexec”
此属性继承自 CIM_LogicalFile。
FileSize
-
数据类型: uint64
-
访问类型:只读
-
限定符: DisplayName (“Size”) 、 Units (“bytes”)
文件系统对象的大小(以字节为单位)。 尽管文件夹具有 FileSize 属性,但始终返回值 0。 若要确定文件夹的大小,请使用 FileSystemObject 或将文件夹中存储的所有文件的大小相加。
有关在脚本中使用 uint64 值的详细信息,请参阅 在 WMI 中编写脚本。
此属性继承自 CIM_LogicalFile。
FileType
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“文件类型”)
由 Extension 属性) 指示的文件类型 (。
例如,.mdb 文件可能具有文件类型 Microsoft Access Application。 .asp 文件可能具有文件类型 HTML 文档。 文件夹通常仅报告为文件夹。
此属性继承自 CIM_LogicalFile。
FSCreationClassName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 传播 (“CIM_FileSystem。CreationClassName“) , CIM_Key, DisplayName (”文件系统类名“)
文件系统的类。
此属性继承自 CIM_LogicalFile。
FSName
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 传播 (“CIM_FileSystem。Name“) 、 CIM_Key、 DisplayName (”文件系统名称“)
文件系统的类型 (NTFS、FAT、FAT32) 安装在文件或文件夹所在的驱动器上。
此属性继承自 CIM_LogicalFile。
Hidden
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: 架构 (“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 (“Last Modified”)
上次修改文件的日期。 有关使用 WMI 日期和时间格式的详细信息,请参阅 WMI 任务:日期和时间。
此属性继承自 CIM_LogicalFile。
名称
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 键
Name 属性是一个字符串,表示继承的名称,用作文件系统中逻辑文件实例的键。 应提供完整路径名称。 示例:C:\Windows\system\win.ini
此属性继承自 CIM_LogicalFile。
路径
-
数据类型: 字符串
-
访问类型:只读
-
限定符: 固定、 架构 (“Win32”) 、 DisplayName (“Path”)
文件的路径。 路径包括前导反斜杠和尾随反斜杠,但不包括驱动器号或文件夹名称。
对于文件夹 c:\windows\system32\wbem,路径为 \windows\system32\。 对于文件夹 c:\scripts,路径为 \。
此属性继承自 CIM_LogicalFile。
可读性
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: DisplayName (“Readable”)
指示是否可以读取文件夹中的项目。 如果 为 True,则可以读取该文件。
此属性继承自 CIM_LogicalFile。
Status
-
数据类型: 字符串
-
访问类型:只读
-
限定符: MaxLen (10) 、 DisplayName (“Status”)
指示对象的当前状态的字符串。
此属性继承自 CIM_ManagedSystemElement。
包括以下值:
OK (“OK”)
错误 (“错误”)
降级 (“已降级”)
未知 (“未知”)
Pred Fail (“Pred Fail”)
starting (“Starting”)
停止 (“停止”)
服务 (“服务”)
压力 (“有压力”)
NonRecover (“NonRecover”)
无联系人 (“无联系人”)
Lost Comm (“Lost Comm”)
系统
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: 架构 (“Win32”) 、 DisplayName (“系统文件”)
指示对象是否为系统文件。 如果 为 True,则该文件是系统文件
此属性继承自 CIM_LogicalFile。
可写
-
数据类型: 布尔值
-
访问类型:只读
-
限定符: DisplayName (“Writeable”)
如果 为 True,则可以写入文件。
此属性继承自 CIM_LogicalFile。
备注
Win32_Directory 类派生自 CIM_Directory。
概述
文件夹是文件系统对象,旨在包含其他文件系统对象。 但是,这并不意味着所有文件夹都相同。 相反,文件夹可能会大相径径。 某些文件夹是操作系统文件夹,通常不应通过脚本对其进行修改。 某些文件夹是只读的,这意味着用户可以访问该文件夹的内容,但不能添加、删除或修改这些内容。 某些文件夹经过压缩以获得最佳存储,而其他文件夹则隐藏且对用户不可见。
WMI 使用 Win32_Directory 类来管理文件夹。 值得注意的是,此类中可用的属性和方法与 CIM_DataFile 类(用于管理文件的类)中可用的属性和方法相同。 这意味着,在了解如何使用 WMI 管理文件夹后,无需任何额外的工作,你还将了解如何管理文件。
Win32_Subdirectory关联类还用于管理文件和文件夹。 Win32_Subdirectory 类关联文件夹及其直接子文件夹。 例如,在文件夹结构 C:\Scripts\Logs 中,Logs 是 Scripts 的子文件夹,Scripts 是根文件夹 C:\的子文件夹。 但是,日志不被视为 C:\的子文件夹。
可以使用 Win32_Directory 类检索文件系统中任何文件夹的属性。 表 11.1 中显示了使用此类可用的属性。 若要检索单个文件夹的属性,请为 Win32_Directory 类构造 Windows 查询语言 (WQL ) 查询,并确保包含文件夹的名称。 例如,此查询绑定到文件夹 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 |
|
DLL |
|