2010-02-22 70 views
2

是否有任何简单的方法来确定是否有2(或更多)路径指向同一位置(假设我只有读权限)?确定相等的路径

例如 \ MY-计算机名\ TEMP \ 212.200.10.5 \ TEMP C:\ TEMP

+2

您能否提供一些关于您的环境(编程语言等)的信息。 – AxelEckenberger 2010-02-22 17:10:45

+0

我正在.NET 2.0下开发 – Nissim 2010-02-23 07:33:49

回答

1

假设文件系统是NTFS,您可以使用文件系统序列号(整个文件系统)和文件ID (该特定文件/目录)共同表示该文件的主键。理解你有一个非常不可能的散列冲突的可能性,实际上如果两个文件或目录共享相同的ID和FS序列号,它们是相同的。

因为我不知道你的开发环境,所以我不能帮你实际执行。

+0

如何查询远程机器的FS序列号? – Nissim 2010-02-23 07:35:09

1
  1. 想要将驱动器转换为UNC(通用命名约定)形式。 Windows API中的WNetGetUniversalName函数将映射的驱动器转换为UNC名称。所以c:\ temp将被转换为\ My-Machine-Name \ temp。

  2. 如果您需要将UNC路径与主机名(例如\ My-Machine-Name)与IP地址进行比较,您可以ping \ My-Machine-Name以获取其IP地址。