C# Windows中文件的全局唯一ID
我想知道如何在Windows(XP、Vista和7)中获取文件和文件夹的全局唯一ID,并且只需具有ID(如getFileByGUID)就可以获取文件或文件夹的完整路径。我尝试用C++,C语言和PHP来做这件事。 即使文件被移动,全局唯一ID也应该保持不变,因此使用文件或文件夹的完整路径将不起作用C# Windows中文件的全局唯一ID,c#,php,c++,windows,filesystems,C#,Php,C++,Windows,Filesystems,我想知道如何在Windows(XP、Vista和7)中获取文件和文件夹的全局唯一ID,并且只需具有ID(如getFileByGUID)就可以获取文件或文件夹的完整路径。我尝试用C++,C语言和PHP来做这件事。 即使文件被移动,全局唯一ID也应该保持不变,因此使用文件或文件夹的完整路径将不起作用 任何帮助都将不胜感激,谢谢 您可以将文件的元数据和/或内容等信息散列在一起。要在整个文件系统上不发生冲突就很难做到这一点,但我假设您没有尝试为整个文件系统编制索引。如果你需要文件来保存它们的ID,如果它
任何帮助都将不胜感激,谢谢 您可以将文件的元数据和/或内容等信息散列在一起。要在整个文件系统上不发生冲突就很难做到这一点,但我假设您没有尝试为整个文件系统编制索引。如果你需要文件来保存它们的ID,如果它们被修改了,这是不起作用的。 你可以考虑使用.< /p> 受试者的页面中提到的警告,这可能是有帮助的,取决于目标是什么。
不过,这不会让人检索文件名。由于NTFS硬链接,同一文件内容可能有多个路径…因此,如果文件被复制,该怎么办?两份副本是否应具有相同的ID?如果它是复制的,然后原始的被删除了呢?这算不算移动,也就是说副本应该有原件的ID?我很难理解这将如何工作。更不用说生成的数据库将是巨大的,仅从API开销就需要几分钟来构建。听起来确实像是问题的解决方案,即使它不是问题的答案。