Directory.Move(String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перемещает файл или каталог и его содержимое в новое расположение.
public:
static void Move(System::String ^ sourceDirName, System::String ^ destDirName);
public static void Move(string sourceDirName, string destDirName);
static member Move : string * string -> unit
Public Shared Sub Move (sourceDirName As String, destDirName As String)
Параметры
- sourceDirName
- String
Путь к файлу или каталогу для перемещения.
- destDirName
- String
Путь к новому расположению sourceDirName или его содержимому. Если sourceDirName файл является файлом, то destDirName также должно быть именем файла.
Исключения
Предпринята попытка переместить каталог в другой том.
–или–
destDirName уже существует. См. примечание в разделе "Примечания".
–или–
destDirName Параметры sourceDirName ссылаются на тот же файл или каталог.
–или–
Каталог или файл в нем используется другим процессом.
Вызывающий объект не имеет требуемого разрешения.
Версии .NET Framework и .NET Core старше 2.1: sourceDirName или destDirName является строкой нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с GetInvalidPathChars() помощью метода.
sourceDirName или destDirName есть null.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Путь, указанный недопустимым sourceDirName (например, он находится на несопоставленном диске).
Примеры
В следующем примере показано, как переместить каталог и все его файлы в новый каталог. Исходный каталог больше не существует после перемещения.
using System;
using System.IO;
partial class Program
{
static void DirectoryMoveExample()
{
string sourceDirectory = @"C:\source";
string destinationDirectory = @"C:\destination";
try
{
Directory.Move(sourceDirectory, destinationDirectory);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
open System.IO
let sourceDirectory = @"C:\source"
let destinationDirectory = @"C:\destination"
try
Directory.Move(sourceDirectory, destinationDirectory)
with e ->
printfn $"{e.Message}"
Imports System.IO
Partial Class Program
Shared Sub DirectoryMoveExample()
Dim sourceDirectory As String = "C:\source"
Dim destinationDirectory As String = "C:\destination"
Try
Directory.Move(sourceDirectory, destinationDirectory)
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Class
Комментарии
Этот метод создает новый каталог с именем, указанным destDirName и перемещает содержимое sourceDirName, включая файлы и каталоги, в только что созданный целевой каталог. Затем он удаляет sourceDirName каталог.
При попытке переместить каталог в каталог, который уже существует, IOException возникнет ошибка.
destDirName Аргументы sourceDirName могут указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, см. GetCurrentDirectory.
Конечные пробелы удаляются из конца параметров пути перед перемещением каталога.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
Замечание
Начиная с .NET Core 3.0 Move , метод создает IOException исключение во всех платформах, когда destDirName уже существует. См. раздел "Переименование C++".