Метод Move
Directory.Move(source, dest) переименовывает
или переносит папку вместе с вложенными
файлами. Исходный путь после вызова
исчезает. Каталог создают через
CreateDirectory,
убирают через
Delete.
Асинхронный аналог - MoveAsync.
Синтаксис
Directory.Move(sourceDirName, destDirName);
Пример
Давайте переименуем папку abcde
в 12345:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
Directory.Move("abcde", "12345");
Console.WriteLine(Directory.Exists("12345"));
Console.WriteLine(Directory.Exists("abcde"));
Directory.Delete("12345");
}
}
Результат выполнения кода:
True
False
Пример
Давайте перенесём папку с файлом внутри:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde");
File.WriteAllText("abcde/12345.txt", "12345");
Directory.Move("abcde", "moved");
bool res = File.Exists("moved/12345.txt");
Console.WriteLine(res);
Directory.Delete("moved", true);
}
}
Результат выполнения кода:
True
Пример
Давайте перенесём вложенную папку на уровень выше по имени:
using System;
using System.IO;
class Program
{
static void Main()
{
Directory.CreateDirectory("abcde/nested");
Directory.Move("abcde/nested", "abcde_flat");
Console.WriteLine(Directory.Exists("abcde_flat"));
Directory.Delete("abcde", true);
Directory.Delete("abcde_flat");
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
Delete,
который удаляет каталог без переноса -
метод
CreateDirectory,
который готовит исходный путь -
File,
которым создают файлы перед переносом -
DirectoryNotFoundException,
которое бросают при неверном пути