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

Метод SetCurrentDirectory

Directory.SetCurrentDirectory меняет папку, относительно которой открываются пути вроде abcde/12345.txt. Текущее значение читают через GetCurrentDirectory. После эксперимента лучше вернуть старый каталог. Есть SetCurrentDirectoryAsync.

Синтаксис

Directory.SetCurrentDirectory(path);

Пример

Давайте сохраним путь, перейдём в abcde и вернёмся обратно:

using System; using System.IO; class Program { static void Main() { string saved = Directory.GetCurrentDirectory(); Directory.CreateDirectory("abcde"); Directory.SetCurrentDirectory("abcde"); string cwd = Directory.GetCurrentDirectory(); bool res = cwd.EndsWith("abcde"); Console.WriteLine(res); Directory.SetCurrentDirectory(saved); Directory.Delete("abcde"); } }

Результат выполнения кода:

True

Пример

Давайте создадим файл уже после смены каталога относительным именем:

using System; using System.IO; class Program { static void Main() { string saved = Directory.GetCurrentDirectory(); Directory.CreateDirectory("abcde"); Directory.SetCurrentDirectory("abcde"); File.WriteAllText("12345.txt", "12345"); bool res = File.Exists("12345.txt"); Console.WriteLine(res); Directory.SetCurrentDirectory(saved); Directory.Delete("abcde", true); } }

Результат выполнения кода:

True

Пример

Давайте проверим, что после возврата имя текущей папки снова не кончается на "abcde", если мы были выше:

using System; using System.IO; class Program { static void Main() { string saved = Directory.GetCurrentDirectory(); Directory.CreateDirectory("abcde"); Directory.SetCurrentDirectory("abcde"); Directory.SetCurrentDirectory(saved); string cwd = Directory.GetCurrentDirectory(); bool res = !cwd.EndsWith("abcde"); Console.WriteLine(res); Directory.Delete("abcde"); } }

Результат выполнения кода:

True

Смотрите также

  • метод GetCurrentDirectory,
    который читает рабочую папку
  • метод CreateDirectory,
    который готовит каталог для перехода
  • File,
    которым пишут файл после смены каталога
  • DirectoryNotFoundException,
    которое бросают при неверном пути
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить