Windows中的目录是否有inode编号?

时间:2012-05-09 06:55:08

标签: c windows inode

我需要在Windows中找到目录的inode编号。使用_stat_stat64函数,我可以获取文件的inode和其他信息。但是当我对Windows目录使用相同的内容时,它总是为任何目录提供相同的编号。

有没有办法找到Windows目录的inode编号?

3 个答案:

答案 0 :(得分:4)

来自windows stat docs

  

<强> st_ino中

     

文件的信息节点(inode)的编号   (UNIX特异性)。在UNIX文件系统上,inode描述该文件   日期和时间戳,权限和内容。当文件是   彼此紧密相连,他们共享同一个inode。 inode,   因此st_ino,在FAT,HPFS或NTFS文件中没有任何意义   系统

因此,不要依赖Windows系统上的inode编号。它是一个特定于Unix的概念。

请参阅此SO post,了解有关Windows如何管理没有inode但使用类似内容的文件的一些想法。

答案 1 :(得分:2)

Windows文件系统与大多数Unix文件系统中的inode编号没有直接的模拟关系。

如果您想要一些唯一且明确标识相关目录的内容,您可能会发现卷序列号/ FileId组合已足够。您可以使用GetFileInformationByHandleEx(尽管名称可以检索有关目录的信息)检索这些内容,并将FileInformationClass(第二个参数)设置为FileIdInfo

这对于NTFS大多数非常有用。正如您在文档中看到的那样,FAT文件系统的限制非常重要(尽管它仍然可以比没有更好,具体取决于您的需求)。

答案 2 :(得分:1)

来自维基百科:

  

索引节点(inode)是传统Unix风格文件系统(如UFS)上的数据结构。 inode存储有关常规文件,目录或其他文件系统对象的所有信息,但其数据和名称除外。

Windows使用的常用文件系统不是围绕inode构建的 概念,他们是不同的,所以没有“inode号”报告, 除其他事项外。

以下是一个明确解释的链接:Inode Explanation