Export (0) Print
Expand All

How to: Determine if a Directory is Read-Only in Visual Basic

The My.Computer.FileSystem.GetDirectoryInfo Method method returns a DirectoryInfo object with a Attributes property that can be queried to determine information about the directory, including whether it is read-only.

NoteNote:

  The options available in dialog boxes, and the names and locations of menu commands you see, might differ from what is described in Help, depending on your active settings or edition. This Help page was written with General Development Settings in mind. To change your settings, choose Import and Export Settings on the Tools menu. For more information, see Visual Studio Settings.

To determine if a directory is read-only

  1. Use the GetDirectoryInfo method to return a DirectoryInfo object for the specified directory. This example returns a DirectoryInfo object for the directory TestDirectory.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. Query the Attributes property of the object to determine whether it is read-only.

    If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
        MsgBox("Directory is readonly!")
    End If
    

The following example, which presents the above snippet in complete form, determines whether the directory testDirectory is read-only and reports the result in a message box.

Dim reader As System.IO.DirectoryInfo
reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
    MsgBox("File is readonly!")
End If

If the directory does not exist, an exception is not thrown until the first time a property on the DirectoryInfo object is accessed.

The following conditions may cause an exception:

  • The path is not valid for one of the following reasons: it is a zero-length string; it contains only white space; it contains invalid characters; or it is a device path (starts with \\.\) (ArgumentException).

  • The path is not valid because it is Nothing (ArgumentNullException).

  • The path exceeds the system-defined maximum length (PathTooLongException).

  • A file or directory name in the path contains a colon (:) or is in an invalid format (NotSupportedException).

  • The user lacks necessary permissions to view the path (SecurityException).

Community Additions

ADD
Show:
© 2014 Microsoft