在Windows中的目录有一个inode号码?

我需要在Windows中find一个目录的inode号码。 使用_stat_stat64函数,我可以获取文件的inode和其他信息。 但是,当我使用相同的Windows目录,它总是给任何目录相同的号码。

有没有办法findWindows目录的inode号码?

从Windows统计文档 ,

st_ino中

该文件的信息节点(inode)的编号(特定于UNIX)。 在UNIX文件系统上,inode描述了文件日期和时间戳,权限和内容。 当文件彼此难以链接时,它们共享相同的inode。 inode和st_ino在FAT,HPFS或NTFS文件系统中没有任何意义。

所以,不要依赖Windows系统上的inode号码。 它是一个Unix特有的概念。

请参阅这个SO帖子 ,了解Windows如何管理没有inode的文件,但使用类似的东西。

Windows文件系统在大多数Unix文件系统中都没有与inode编号直接相似的模式。

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

这对于NTFS来说非常有用的。 正如你将在文档中看到的那样,对FAT文件系统的限制是非常重要的(尽管依赖于你的需要它仍然可以比没有好)。

维基百科:

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

Windows使用的文件系统并不是围绕inode概念构建的,它们是不同的,所以没有“inode number”来报告。

这里有一个清晰的解释链接: Inode解释