Directory.Move(String, String) Directory.Move(String, String) Directory.Move(String, String) Directory.Move(String, String) Method

Определение

Перемещает файл или каталог со всем его содержимым в новое местоположение.Moves a file or a directory and its contents to a new location.

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 String String String

Путь к файлу или каталогу, который необходимо переместить.The path of the file or directory to move.

destDirName
String String String String

Путь к новому местоположению sourceDirName.The path to the new location for sourceDirName. Если sourceDirName является файлом, то параметр destDirName также должен быть именем файла.If sourceDirName is a file, then destDirName must also be a file name.

Исключения

Была предпринята попытка переместить каталог в другой том.An attempt was made to move a directory to a different volume.

-или--or- destDirName уже существует.destDirName already exists. См. Примечание в разделе "Примечания".See the Note in the Remarks section.

-или--or- Параметры sourceDirName и destDirName указывают на один и тот же файл или каталог.The sourceDirName and destDirName parameters refer to the same file or directory.

-или--or- Каталог или находящийся в нем файл используется другим процессом.The directory or a file within it is being used by another process.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

sourceDirName или destDirName представляет собой строку нулевой длины, строку, содержащую только пробелы, или строку, содержащую один или несколько недопустимых символов.sourceDirName or destDirName is a zero-length string, contains only white space, or contains one or more invalid characters. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().You can query for invalid characters with the GetInvalidPathChars() method.

Параметр sourceDirName или destDirName имеет значение null.sourceDirName or destDirName is null.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.The specified path, file name, or both exceed the system-defined maximum length.

Путь, указанный sourceDirName, является недопустимым (например, он ведет на несопоставленный диск).The path specified by sourceDirName is invalid (for example, it is on an unmapped drive).

Примеры

Ниже приведен пример, как переместить каталог и все его файлы в новый каталог.The following example demonstrates how to move a directory and all its files to a new directory. Исходный каталог не существует, после его перемещения.The original directory no longer exists after it has been moved.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\source";
            string destinationDirectory = @"C:\destination";

            try
            {
                Directory.Move(sourceDirectory, destinationDirectory);  
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        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 Module

Комментарии

Этот метод создает новый каталог с именем, указанным destDirName и перемещает содержимое sourceDirName на только что созданный целевой каталог.This method creates a new directory with the name specified by destDirName and moves the contents of sourceDirName to the newly created destination directory. При попытке переместить каталог в каталог, который уже существует, IOException произойдет.If you try to move a directory to a directory that already exists, an IOException will occur. Например если вы пытаетесь переместить c:\mydir в c:\public, и c:\public уже существует, возникает исключение.For example, an exception will occur if you try to move c:\mydir to c:\public, and c:\public already exists. Кроме того, можно указать «c:\\public\\mydir» как destDirName параметром, указано, что «mydir» не существует в «c:\\public», или укажите новое имя каталога, например «c:\\newdir».Alternatively, you could specify "c:\\public\\mydir" as the destDirName parameter, provided that "mydir" does not exist under "c:\\public", or specify a new directory name such as "c:\\newdir".

sourceDirName И destDirName могут содержать относительный или абсолютный путь.The sourceDirName and destDirName arguments are permitted to specify relative or absolute path information. Сведения о относительный путь интерпретируется относительно текущего рабочего каталога.Relative path information is interpreted as relative to the current working directory. Чтобы получить текущий рабочий каталог, см. в разделе GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Конечные пробелы удаляются из конца параметры пути, прежде чем перейти в каталог.Trailing spaces are removed from the end of the path parameters before moving the directory.

Список задач ввода-вывода, см. в разделе распространенные задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

Примечание

Начиная с .NET Core 3.0 — Move вызывает метод IOException на всех платформах при destDirName уже существует.Starting with .NET Core 3.0, the Move method throws an IOException in all platforms when the destDirName already exists. В .NET Core 2.2 и более ранние версии, только исключения на Windows и других платформ может либо ошибкой или перезаписать destDirName.In .NET Core 2.2 and previous versions, the exception was only thrown on Windows, and other platforms could either fail or overwrite the destDirName. См. в разделе C++ Переименовать.See C++ rename.

Безопасность

FileIOPermission
для чтения данных из sourceDirName и запись sourceDirName и destDirName.for reading from sourceDirName and writing to sourceDirName and destDirName. Связанное перечисление: Read, WriteAssociated enumerations: Read, Write

Применяется к

Дополнительно