클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (513)
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (300)
      • C# (83)
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • android studio
  • android
  • CSS3
  • JavaScript
  • LINQ
  • node.js
  • HTML5
  • Entity Framework
  • Windows API
  • Kotlin
  • asp.net core
  • 변수
  • jQuery
  • c#
  • MariaDB
  • .NET
  • ASP.NET
  • NestJS
  • exception
  • asp.net core web api

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET/Windows API for .NET

GetFileAttributes - File및 Folder속성 확인

2019. 8. 5. 17:25
728x90

GetFileAttributes함수는 지정한 File이나 Folder의 속성을 확인하는 함수입니다.

Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Integer

- VB.NET 선언

[DllImport("kernel32")]
public static extern int GetFileAttributes(string lpFileName);

- C# 선언

 

함수의 인수로는 속성을 확인할 File이나 Folder를 지정해 주기만 하면 됩니다. 예를 들어 'C:\WINDOWS'의 'abc.txt' File을 확인해 보려면 함수를 다음과 같이 선언합니다.

GetFileAttributes("C:\WINDOWS\abc.txt")

- VB.NET 호출

GetFileAttributes("C:\\WINDOWS\\abc.txt")

- C# 호출

 

함수가 실행되고 나면 특정값을 반환하게 되는데 이 값을 통해 속성을 구분해야 합니다. 각 값에 따른 속성은 아래 표를 참고하여 주십시오.

 상수  값  설명
 FILE_ATTRIBUTE_ARCHIVE  20  일반문서 File
 FILE_ATTRIBUTE_COMPRESSED  800  압축File
 FILE_ATTRIBUTE_DIRECTORY  10  Folder
 FILE_ATTRIBUTE_ENCRYPTED  4000  암호화된 File
 FILE_ATTRIBUTE_HIDDEN  2  숨김 File
 FILE_ATTRIBUTE_NORMAL  80  일반 File
 FILE_ATTRIBUTE_OFFLINE  1000  Offline File
 FILE_ATTRIBUTE_READONLY  1  읽기전용 File
 FILE_ATTRIBUTE_REPARSE_POINT  400  조합된 재구문분석 위치 File
 FILE_ATTRIBUTE_SPARSE_FILE  200  (설명1) 참고
 FILE_ATTRIBUTE_SYSTEM  4  System File
 FILE_ATTRIBUTE_TEMPORARY  100  임시 File


값은 16진수 기준으로 VB.NET에서는 &H, C#에서는 0x로 구분합니다.

(설명1)
실제 File크기와 Disk할당영역이 다른 File로서 File용량은 크다하더라도 실제적인 Disk 할당 영역은 그보다 훨씬 작은 File을 의미합니다.(Torrent로 File을 내려받거나 파일을 복사할때 등등 이런 현상을 자주 볼 수 있습니다.)

확인하고자 하는 File이 일반 TEXT문서 File이라면 GetFileAttributes함수는 32(16진수 20)값을 반환하며 만일 이 TEXT File이 숨김으로 설정되어 있다면 결과값으로 34(32(16진수 20) + 2(16진수 2))를 반환합니다.

728x90
저작자표시 비영리 변경금지

'.NET > Windows API for .NET' 카테고리의 다른 글

CreateSolidBrush - Solid형 Line을 그리는 Brush생성  (0) 2019.08.05
GetTickCount - Windows가동 시간알아내기  (0) 2019.08.05
DrawFocusRect - 선택모양의 점선사각형 그리기  (0) 2019.08.05
SetVolumeLabel - Volume의 이름설정  (0) 2019.08.05
DestoryWindow - Window화면 닫기  (0) 2019.08.05
    '.NET/Windows API for .NET' 카테고리의 다른 글
    • CreateSolidBrush - Solid형 Line을 그리는 Brush생성
    • GetTickCount - Windows가동 시간알아내기
    • DrawFocusRect - 선택모양의 점선사각형 그리기
    • SetVolumeLabel - Volume의 이름설정
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바