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