2012-05-09 35 views
2

我需要在Windows中找到目錄的inode號碼。使用_stat_stat64函數,我可以獲取文件的inode和其他信息。但是,當我使用相同的Windows目錄時,它始終給出與任何目錄相同的編號。Windows中的目錄是否有inode編號?

有什麼方法可以找到Windows目錄的inode號碼嗎?

回答

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

維基百科:

一個索引節點(i節點)是如UFS傳統的UNIX風格的文件系統上的數據結構。 inode存儲有關常規文件,目錄或其他文件系統對象的所有信息,但數據和名稱除外。

Windows中所常用的文件系統是繞不inode的 概念之上,他們是不同的,因此不存在「索引節點號」,以除其他事項報告, 。

這裏有明確的解釋鏈接:Inode Explanation

2

Windows文件系統沒有直接模擬在大多數Unix文件系統的inode編號。

如果您想要一些唯一且明確標識相關目錄的內容,您可能會發現卷序列號/ FileId組合足夠。您可以使用GetFileInformationByHandleEx(儘管名稱可以檢索有關目錄的信息)檢索這些文件,其中FileInformationClass(第二個參數)設置爲FileIdInfo

這是主要是雖然有用的NTFS。正如你在文檔中看到的那樣,對FAT文件系統的限制是相當重要的(儘管它依然可以比沒有更好,這取決於你的需要)。

相關問題