語言

Path.GetRelativePath(String, String) 方法

定義

從一個路徑傳回另一個路徑的相對路徑。

public:
 static System::String ^ GetRelativePath(System::String ^ relativeTo, System::String ^ path);
public static string GetRelativePath(string relativeTo, string path);
static member GetRelativePath : string * string -> string
Public Shared Function GetRelativePath (relativeTo As String, path As String) As String

參數

relativeTo
String

結果應該相對於來源路徑。 這條路徑始終被視為一個目錄。

path
String

目的地路徑。

傳回

相對路徑,或 path 是路徑不共享相同的根。

例外狀況

relativeTo 或 path 為 null。

relativeTo 或 path 實際上是空的。

範例

以下程式碼說明如何呼叫該 GetRelativePath 方法。

// "C:/Program Files/Microsoft" relative to "C:/Program Files/Common Files" is "../Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/Common Files", "C:/Program Files/Microsoft"));
// "C:/Program Files/Microsoft" relative to "C:/Program Files/" is "Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/", "C:/Program Files/Microsoft"));

// This code produces output similar to the following:
//
// ../Microsoft
// Microsoft
' "C:/Program Files/Microsoft" relative to "C:/Program Files/Common Files" is "../Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/Common Files", "C:/Program Files/Microsoft"))
' "C:/Program Files/Microsoft" relative to "C:/Program Files/" is "Microsoft"
Console.WriteLine(Path.GetRelativePath("C:/Program Files/", "C:/Program Files/Microsoft"))

' This code produces output similar to the following:
'
' ../Microsoft
' Microsoft

備註

路徑的解析是透過呼叫 GetFullPath 方法再計算差異來解析。 此方法使用目前平台StringComparison.OrdinalIgnoreCase (Windows與macOS,Linux StringComparison.Ordinal )的預設檔案路徑比較。

適用於

另請參閱