How to: Determine a Directory's Attributes in Visual Basic

The GetDirectoryInfo method returns a DirectoryInfo object whose Attributes property can be queried to determine information about the directory.

The following table lists the members of the FileAttributes enumeration used by the Attributes property.

Member

Numeric Value

Description

ReadOnly

1

The file is read-only.

Hidden

2

The file is hidden and therefore not included in an ordinary directory listing.

System

4

The file is a system file. The file is part of the operating system or used exclusively by the operating system.

Directory

16

The file is a directory.

Archive

32

The file's archive status. Applications use this attribute to mark files for backup or removal.

Device

64

Not used.

Normal

128

The file is normal and no other attributes are set. This attribute is valid only if used alone.

Temporary

256

The file is temporary. File systems attempt to keep all of the data in memory for quicker access. A temporary file should be deleted when it is no longer needed.

SparseFile

512

The file is a sparse file. Sparse files are typically large files containing data that is mostly zeroes.

ReparsePoint

1024

The file contains a reparse point, which is a block of user-defined data associated with a file or directory.

Compressed

2048

The file is compressed.

Offline

4096

The file is offline and the data is not immediately available.

NotContentIndexed

8192

The file will not be indexed by the operating system's content indexing service.

Encrypted

16384

The file or directory is encrypted. For files, this means that all data in the file is encrypted. For directories, this means that encryption is the default for newly created files and directories.

To determine if a directory is hidden

  • Use the GetDirectoryInfo method to return a DirectoryInfo object. This example returns DirectoryInfo for the directory TestDir, gets a FileAttributes object from the DirectoryInfo object and checks it to determine whether or not it is hidden. You can test for other attributes in a similar manner.

    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
    

See Also

Tasks

How to: Determine a File's Attributes in Visual Basic

Reference

GetDirectoryInfo

DirectoryInfo

FileAttributes

Other Resources

File, Directory, and Drive Properties in Visual Basic