Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
714 of 1492 menu
◀ ▶

Метод 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,
    которое бросают при неверном пути
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить