2011-05-06 6 views
0

속성 이진 표현의 네 번째 위치에 1이있는 경우이 위치는 디렉토리이지만, 고려해야 할 위치에 1이 없는지 확실하지 않습니다. 그것은 파일로?NTFS로 폴더와 파일을 구별하는 방법

또는 폴더 또는 파일을 결정하기 위해 다른 속성이 있습니까? 도와주세요.

감사합니다.

+0

차별화 정확히에서 파일 및 폴더 사이?! NTFS는 프로그래밍 언어가 아닌 파일 시스템입니다 ... –

+0

우리는 DB에서 파일 또는 디렉토리의 모든 속성을 실행하고 저장하는 인덱서를 가지고 있습니다. 이제 DB에서 NTFS 표준을 사용하여 모든 디렉토리와 모든 파일을 얻고 싶었습니다. 갈라져. –

답변

1

모든 파일에는 볼륨의 마스터 파일 테이블 (MFT)에 파일 레코드가 있습니다.

0x16 및 0x17에 저장된 2 바이트 플래그 (주의, 리틀 엔디안)를 확인할 수 있습니다. 두 번째 비트 (오른쪽에서부터 계산)는 폴더 (1)인지 파일 (0)인지 여부를 알려줍니다.

if (flag & 0x02) 
    it's a folder 
else 
    it's a file 

당신이 WinHex의 도움으로, 예를 들어, 원래 힘에 의해 1에 파일을 나타내는 것이 비트를 변경하고 (아마도 다시 시작 또는 시스템 캐시 신선한 필수) 더블 클릭, OS가보고 싶다면

파일이 손상되었음을 나타냅니다.

또한 첫 번째 비트는 삭제되는지 여부를 알려줍니다.

if (flag & 0x01) 
    it's a normal file or folder not deleted 
else 
    it's a deleted file or folder 
관련 문제