如何:在 Visual Basic 中确定目录的特性
GetDirectoryInfo 方法返回一个 DirectoryInfo 对象,可以通过查询该对象的 Attributes 特性来确定有关目录的信息。
下表列出了 Attributes 特性所使用的 FileAttributes 枚举的成员。
成员 |
数值 |
说明 |
---|---|---|
ReadOnly |
1 |
此文件是只读的。 |
Hidden |
2 |
此文件是隐藏的,因此未包括在普通目录列表中。 |
System |
4 |
此文件是系统文件。 此文件是操作系统的一部分,或者由操作系统以独占方式使用。 |
Directory |
16 |
此文件是一个目录。 |
Archive |
32 |
文件的存档状态。 应用程序使用此特性将文件标记为备份或移除。 |
Device |
64 |
未使用。 |
Normal |
128 |
此文件是普通文件,未设置其他特性。 仅当单独使用时,此特性才有效。 |
Temporary |
256 |
此文件是临时文件。 文件系统尝试将所有数据保存在内存中,以便可以更快访问。 应删除不再需要的临时文件。 |
SparseFile |
512 |
此文件是稀疏文件。 稀疏文件通常是大文件,包含的数据大多数为 0。 |
ReparsePoint |
1024 |
此文件包含一个重分析点,该点是与文件或目录关联的用户定义数据组成的块。 |
Compressed |
2048 |
此文件是压缩文件。 |
Offline |
4096 |
此文件处于脱机状态,此刻不能使用其数据。 |
NotContentIndexed |
8192 |
将不会通过操作系统的内容索引服务来索引此文件。 |
Encrypted |
16384 |
此文件或目录已加密。 对于文件,这意味着文件中的所有数据均已加密。 对于目录,这意味着默认情况下将加密新创建的文件和目录。 |
确定目录是否为隐藏的
使用 GetDirectoryInfo 方法返回 DirectoryInfo 对象。 此示例返回目录 TestDir 的 DirectoryInfo,从 DirectoryInfo 对象获取并检查 FileAttributes 对象,以确定该目录是否为隐藏的。 您可以以类似方式测试其他特性。
Dim checkFile As System.IO.DirectoryInfo checkFile = My.Computer.FileSystem.GetDirectoryInfo("C:\TestDir") Dim attributeReader As System.IO.FileAttributes attributeReader = checkFile.Attributes If (attributeReader And System.IO.FileAttributes.Hidden) > 0 Then MsgBox("Directory is hidden") End If