이 메서드를 CopyDirectory 사용하여 디렉터리를 다른 디렉터리에 복사합니다. 이 메서드는 디렉터리 자체뿐만 아니라 디렉터리의 내용을 복사합니다. 대상 디렉터리가 없으면 생성됩니다. 이름이 같은 디렉터리가 대상 위치에 있고 overwrite
이 디렉터리로 False
설정된 경우 두 디렉터리의 내용이 병합됩니다. 작업 중에 디렉터리의 새 이름을 지정할 수 있습니다.
디렉터리 내에서 파일을 복사할 때, 병합 중에 overwrite
가 False
로 설정되어 있는 경우처럼 특정 파일에 의해 발생하는 예외가 throw될 수 있습니다. 이러한 예외가 발생할 때, Data
속성은 파일 또는 디렉터리 경로를 키로 하고 특정 예외 메시지를 해당 값에 포함하는 항목을 가진 단일 예외로 통합됩니다.
디렉터리를 다른 디렉터리에 복사하려면
CopyDirectory
원본 및 대상 디렉터리 이름을 지정하여 메서드를 사용합니다. 다음 예제에서는 이름이 지정된TestDirectory1
TestDirectory2
디렉터리를 복사하여 기존 파일을 덮어씁니다.My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
이 코드 예제는 IntelliSense 코드 조각으로도 사용할 수 있습니다. 코드 조각 선택기에서 파일 시스템(드라이브, 폴더 및 파일 처리)에 있습니다. 자세한 내용은 코드 조각참조하세요.
강력한 프로그래밍
다음 조건에서 예외가 발생합니다.
디렉터리에 지정된 새 이름에는 콜론(:) 또는 슬래시(\ 또는 /) ()이ArgumentException 포함됩니다.
경로는 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 디바이스 경로(\\.\ArgumentException로 시작)입니다.
경로가 (
Nothing
)이므로 ArgumentNullException 유효하지 않습니다.destinationDirectoryName
가Nothing
거나 빈 문자열(ArgumentNullException)원본 디렉터리가 없습니다(DirectoryNotFoundException).
원본 디렉터리가 루트 디렉터리(IOException)입니다.
결합된 경로는 기존 파일(IOException)을 가리킵니다.
원본 경로와 대상 경로는 동일합니다(IOException).
ShowUI
이 설정UIOption.AllDialogs
되고 사용자가 작업을 취소하거나 디렉터리에 있는 하나 이상의 파일을 복사할 수 없습니다(OperationCanceledException).작업은 순환(InvalidOperationException)입니다.
경로에는 콜론(:)()이NotSupportedException 포함됩니다.
경로가 시스템 정의 최대 길이(PathTooLongException)를 초과합니다.
경로의 파일 또는 폴더 이름에 콜론(:) 포함되거나 잘못된 형식(NotSupportedException)이 있습니다.
사용자에게 경로(SecurityException)를 보는 데 필요한 권한이 없습니다.
대상 파일이 있지만 액세스할 수 없습니다(UnauthorizedAccessException).
참고하십시오
.NET