Directory.Move(String, String) 메서드

정의

파일 또는 디렉터리와 그 내용을 새 위치로 이동합니다.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

이동할 파일 또는 디렉터리의 경로입니다.The path of the file or directory to move.

destDirName
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- sourceDirNamedestDirName 매개 변수가 동일한 파일 또는 디렉터리를 참조합니다.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 또는 destDirNamenull인 경우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. 또는 "mydir"이 "c:\\public" 아래에 없거나 "c:\\newdir"와 같은 새 디렉터리 이름을 지정 하는 경우 "c:\\public\\mydir"을 destDirName 매개 변수로 지정할 수 있습니다.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".

sourceDirNamedestDirName 인수는 상대 또는 절대 경로 정보를 지정 하는 데 사용할 수 있습니다.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.

일반적인 i/o 작업 목록은 일반적인 I/o 작업을 참조 하세요.For a list of common I/O tasks, see Common I/O Tasks.

참고

.NET Core 3.0부터 Move 메서드는 destDirName 이미 있는 경우 모든 플랫폼에서 IOException를 throw 합니다.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 에서만 throw 되었으며 다른 플랫폼에서 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에서 읽고 sourceDirNamedestDirName에 쓰는 데 사용할 수 있습니다.for reading from sourceDirName and writing to sourceDirName and destDirName. 연관 된 열거형: Read, WriteAssociated enumerations: Read, Write

적용 대상

추가 정보