GetAttr 函式
更新:2007 年 11 月
傳回表示檔案、目錄或資料夾屬性 (Attribute) 的 FileAttribute 值。
My 功能在檔案 I/O 作業中的產能和效能勝過 FileAttribute。如需詳細資訊,請參閱 My.Computer.FileSystem 物件。
Public Function GetAttr(ByVal PathName As String) As FileAttribute
參數
- PathName
必要項。指定檔案、目錄或資料夾名稱的 String 運算式。PathName 可包含目錄或資料夾,以及磁碟機。
傳回值
GetAttr 傳回的值是以下列舉值的總和:
值 |
常數 |
描述 |
---|---|---|
Normal |
vbNormal |
一般。 |
ReadOnly |
vbReadOnly |
唯讀。 |
Hidden |
vbHidden |
隱藏。 |
System |
vbSystem |
系統檔案。 |
Directory |
vbDirectory |
目錄或資料夾。 |
Archive |
vbArchive |
檔案自上次備份後已經過修改。 |
Alias |
vbAlias |
檔案具有不同的名稱。 |
注意事項: |
---|
這些列舉型別 (Enumeration) 是由 Visual Basic 語言所指定。您可在程式碼中的任何地方使用這些名稱來取代實際值。 |
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
Pathname 無效或包含萬用字元。 |
||
目標檔案不存在。 |
如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。
備註
若要判斷已設定哪些屬性,請使用 And 運算子,在 GetAttr 函式所傳回的值與您要的個別檔案屬性值之間執行位元 (Bitwise) 比較。如果傳回的結果不是零,則表示具名檔案的該屬性 (Attribute) 已經設定。例如,如果未設定 Archive 屬性,則下列 And 運算式的傳回值會是零:
Result = GetAttr(FName) And vbArchive
如果已設定 Archive 屬性,則會傳回非零的值。
範例
這個範例會使用 GetAttr 函式來判斷檔案和目錄或資料夾的屬性。
Dim MyAttr As FileAttribute
' Assume file TESTFILE is normal and readonly.
MyAttr = GetAttr("C:\TESTFILE.txt") ' Returns vbNormal.
' Test for normal.
If (MyAttr And FileAttribute.Normal) = FileAttribute.Normal Then
MsgBox("This file is normal.")
End If
' Test for normal and readonly.
Dim normalReadonly As FileAttribute
normalReadonly = FileAttribute.Normal Or FileAttribute.ReadOnly
If (MyAttr And normalReadonly) = normalReadonly Then
MsgBox("This file is normal and readonly.")
End If
' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("C:\MYDIR")
If (MyAttr And FileAttribute.Directory) = FileAttribute.Directory Then
MsgBox("MYDIR is a directory")
End If
智慧型裝置開發人員注意事項
不支援這個函式。
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組:**FileSystem
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)