Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows中文件的全局唯一ID_C#_Php_C++_Windows_Filesystems - Fatal编程技术网

C# Windows中文件的全局唯一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,如果它

我想知道如何在Windows(XP、Vista和7)中获取文件和文件夹的全局唯一ID,并且只需具有ID(如getFileByGUID)就可以获取文件或文件夹的完整路径。我尝试用C++,C语言和PHP来做这件事。 即使文件被移动,全局唯一ID也应该保持不变,因此使用文件或文件夹的完整路径将不起作用


任何帮助都将不胜感激,谢谢

您可以将文件的元数据和/或内容等信息散列在一起。要在整个文件系统上不发生冲突就很难做到这一点,但我假设您没有尝试为整个文件系统编制索引。如果你需要文件来保存它们的ID,如果它们被修改了,这是不起作用的。

你可以考虑使用.< /p> 受试者的页面中提到的警告,这可能是有帮助的,取决于目标是什么。
不过,这不会让人检索文件名。由于NTFS硬链接,同一文件内容可能有多个路径…

因此,如果文件被复制,该怎么办?两份副本是否应具有相同的ID?如果它是复制的,然后原始的被删除了呢?这算不算移动,也就是说副本应该有原件的ID?我很难理解这将如何工作。更不用说生成的数据库将是巨大的,仅从API开销就需要几分钟来构建。听起来确实像是问题的解决方案,即使它不是问题的答案。