共用方式為


HOW TO:在 Visual Basic 中判斷目錄是否為唯讀

GetDirectoryInfo會傳回具有 Attributes 屬性的 DirectoryInfo 物件,您可查詢此物件以判斷目錄的相關資訊,包括目錄是否為唯讀。

注意事項注意事項

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱 Visual Studio 設定

若要判斷目錄是否為唯讀

  1. 使用 GetDirectoryInfo 方法以傳回指定之目錄的 DirectoryInfo 物件。 這個範例會傳回目錄 TestDirectory 的 DirectoryInfo 物件。

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. 查詢物件的 Attributes 屬性,判斷它是否為唯讀。

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

範例

下列範例會以完整形式呈現上述程式碼片段,以判斷目錄 testDirectory 是否為唯讀,並且在訊息方塊中報告結果。

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

編譯程式碼

如果目錄不存在,直到首次存取 DirectoryInfo 物件上的屬性,才會擲回例外狀況。

穩固程式設計

以下條件可能會造成例外狀況:

  • 路徑無效,由於下列原因之一:它是零長度字串 ; 它僅包含空白 ; 它包含無效字元 ; 或它是一個設備路徑 (以開始 \\。 \) (ArgumentException).

  • 路徑無效,因為它是 Nothing (ArgumentNullException)。

  • 路徑超過系統定義的最大長度 (PathTooLongException)。

  • 路徑中的檔案或目錄名稱含有冒號 (:),或者是無效的格式 (NotSupportedException)。

  • 使用者缺乏必要的使用權限來檢視路徑 (SecurityException)。

請參閱

工作

HOW TO:在 Visual Basic 中判斷目錄屬性

參考

GetDirectoryInfo