Windows中文件的全局唯一ID

时间:2010-02-14 07:12:57

标签: c# php c++ windows filesystems

我想知道如何在Windows(XP,Vista和7)中获取文件和文件夹的全局唯一ID,并且还能够通过获取ID来获取文件或文件夹的完整路径,例如getFileByGUID 。我正在尝试用C ++,C#和PHP。

即使文件被移动,全局唯一ID也应该保持不变,因此使用文件或文件夹的完整路径将不起作用。

非常感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:3)

您可以考虑使用Distributed Link Tracking Service

答案 1 :(得分:2)

根据BY_HANDLE_INFORMATION页面中提到的警告,GetFileInformationByHandle可能会有所帮助,具体取决于目标。

但这不会让人检索文件的名称。由于NTFS硬链接,无论如何可能有多条路径指向相同的文件内容......

答案 2 :(得分:1)

您可以将有关文件的信息(例如元数据和/或内容)混合在一起。在没有冲突的情况下在整个文件系统上执行此操作会很困难,但我假设您不是要尝试索引整个文件系统。如果您需要文件在修改后保留其ID,这将无效。