Метод GetDirectoryRoot
Directory.GetDirectoryRoot для
полного пути возвращает корень тома: на
Windows это буква диска с "\\", на
Linux - "/". Конкретная строка
зависит от ОС. Родителя пути даёт
GetParent.
Список томов -
GetLogicalDrives.
Синтаксис
string root = Directory.GetDirectoryRoot(path);
Пример
Давайте возьмём корень для текущей папки и проверим, что он не пустой:
using System;
using System.IO;
class Program
{
static void Main()
{
string cwd = Directory.GetCurrentDirectory();
string root = Directory.GetDirectoryRoot(cwd);
bool res = root.Length > 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверим корень для пути к файлу
в abcde:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
File.WriteAllText("abcde/12345.txt", "12345");
string full = Directory.GetCurrentDirectory();
full = full + "/abcde/12345.txt";
string root = Directory.GetDirectoryRoot(full);
bool res = !string.IsNullOrEmpty(root);
Console.WriteLine(res);
Directory.Delete("abcde", true);
}
}
Результат выполнения кода:
True
Пример
Давайте сравним корень текущего каталога с корнем вложенного пути - они совпадают на одном томе:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
string cwd = Directory.GetCurrentDirectory();
string rootCwd = Directory.GetDirectoryRoot(cwd);
string nested = cwd + "/abcde";
string rootNested = Directory.GetDirectoryRoot(nested);
bool res = rootCwd == rootNested;
Console.WriteLine(res);
Directory.Delete("abcde");
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
GetLogicalDrives,
который перечисляет диски -
метод
GetParent,
который даёт родительский каталог -
метод
GetCurrentDirectory,
который возвращает рабочую папку -
Directory,
класс, где объявлен метод