共用方式為


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

更新:2007 年 11 月

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

注意事項:

根據您目前使用的設定或版本,您所看到的對話方塊選項,以及功能表命令的名稱和位置,可能會與 [說明] 中描述的不同。撰寫這個說明網頁時已將 [一般開發設定] 納入考慮。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 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 中判斷目錄屬性

參考

My.Computer.FileSystem.GetDirectoryInfo 方法