2010-02-22 52 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地址。