如何使用NTFS区分文件夹和文件

时间:2011-05-06 15:44:58

标签: ntfs

我知道如果在属性的二进制表示的第4个位置存在1,那么这是一个目录,但我不确定在该位置是否存在1我应该将其视为文件吗?

或是否还有其他属性来确定文件夹或文件? 请帮帮我。

感谢。

1 个答案:

答案 0 :(得分:1)

每个文件在卷的主文件表(MFT)中都有文件记录。

您可以检查存储在0x16和0x17的2字节标志(注意,小端)。第二位(从右计算)告诉它是文件夹(1)还是文件(0)。

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

如果你将原本代表文件的这个位强制更改为1,例如在WinHex的帮助下,并且(可能需要重新启动或系统缓存)双击它,操作系统将报告该文件是损坏。

此外,第一位告诉它是否被删除。

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