Метод Path.GetRelativePath
Метод Path.GetRelativePath принимает
базовый каталог и целевой путь и возвращает
кратчайшую относительную строку между
ними. Полный путь даёт
GetFullPath.
Синтаксис
string rel = Path.GetRelativePath(fromDir, toPath);
Пример
Давайте получим путь от abcde
к файлу внутри:
using System;
using System.IO;
class Program
{
static void Main()
{
string baseDir = Path.Combine("abcde");
string target = Path.Combine("abcde", "12345.txt");
string res = Path.GetRelativePath(baseDir, target);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"12345.txt"
Пример
Давайте сравним относительный путь с именем файла:
using System;
using System.IO;
class Program
{
static void Main()
{
string baseDir = Path.Combine("abcde");
string target = Path.Combine("abcde", "abcde.txt");
string rel = Path.GetRelativePath(baseDir, target);
bool res = Path.GetFileName(rel) == "abcde.txt";
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте построим относительный путь к тому же каталогу:
using System;
using System.IO;
class Program
{
static void Main()
{
string baseDir = Path.Combine("abcde");
string target = Path.Combine("abcde", "12345");
string rel = Path.GetRelativePath(baseDir, target);
bool res = rel == "12345" || rel.EndsWith("12345");
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
GetFullPath,
полный путь -
Combine,
сборка целевого пути -
Directory,
каталог на диске -
File,
файл по относительному пути