GetAttr 함수
업데이트: 2007년 11월
파일, 디렉터리 또는 폴더의 특성을 나타내는 FileAttribute 값을 반환합니다.
My 기능은 파일 입출력 작업에서 생산성 및 성능이 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 |
파일에 다른 이름이 있음 |
참고: |
---|
이러한 열거형은 Visual Basic 언어로 지정되며, 코드의 모든 위치에서 실제 값 대신 사용될 수 있습니다. |
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
Pathname이 잘못되었거나 와일드카드를 포함하고 있습니다. |
||
대상 파일이 없습니다. |
비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.
설명
설정된 특성을 확인하려면 And 연산자를 사용하여 GetAttr 함수에서 반환된 값과 원하는 개별 파일 특성 값에 대한 비트 비교를 수행하십시오. 결과가 0이 아니면 명명된 파일에 해당 특성이 설정된 것입니다. 예를 들어, Archive 특성이 설정되지 않은 경우 다음 And 식의 반환 값은 0입니다.
Result = GetAttr(FName) And vbArchive
Archive 특성이 설정된 경우 0이 아닌 값이 반환됩니다.
예제
다음 예제에서는 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
스마트 장치 개발자 참고 사항
이 함수는 지원되지 않습니다.
요구 사항
네임스페이스: Microsoft.VisualBasic
**모듈:**FileSystem
**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)