다음을 통해 공유


My.Computer.FileSystem.CopyDirectory 메서드

업데이트: 2007년 11월

디렉터리를 다른 디렉터리로 복사합니다.

' Usage
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,overwrite)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal showUI As UIOption _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal showUI As UIOption, _
   ByVal onUserCancel As UICancelOption _
)

매개 변수

  • sourceDirectoryName
    필수적 요소. String. 복사할 디렉터리입니다.

  • destinationDirectoryName
    필수적 요소. String. 디렉터리를 복사할 위치입니다.

  • overwrite
    필수적 요소. Boolean. 기존 파일을 덮어쓸지 여부를 나타냅니다. 기본값은 False입니다.

  • showUI
    필수적 요소. UIOption. 작업 진행률을 시각적으로 추적할지 여부를 지정합니다. 기본값은 UIOption.OnlyErrorDialogs입니다.

  • onUserCancel
    필수적 요소. UICancelOption. 사용자가 작업 중에 취소를 클릭할 때 수행할 작업을 지정합니다. 기본값은 ThrowException입니다.

예외

다음 조건에서 예외가 발생합니다.

  • 디렉터리에 지정된 새 이름에 콜론(:) 또는 슬래시(\ 또는 /)가 있는 경우(ArgumentException)

  • 경로가 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, \\.\로 시작하는 장치 경로이기 때문에 올바르지 않은 경우(ArgumentException)

  • 경로가 Nothing이기 때문에 올바르지 않은 경우(ArgumentNullException)

  • destinationDirectoryName이 Nothing이거나 빈 문자열인 경우(ArgumentNullException)

  • 소스 디렉터리가 없는 경우(DirectoryNotFoundException)

  • 소스 디렉터리가 루트 디렉터리인 경우(IOException)

  • 결합된 경로가 기존 파일을 가리키는 경우(IOException)

  • 소스 경로와 대상 경로가 같은 경우(IOException)

  • ShowUI가 UIOption.AllDialogs로 설정되어 있고 사용자가 작업을 취소한 경우 또는 해당 디렉터리에서 하나 이상의 파일을 복사할 수 없는 경우(OperationCanceledException)

  • 작업이 순환적인 경우(InvalidOperationException)

  • 경로에 콜론(:)이 있는 경우(NotSupportedException)

  • 경로의 길이가 시스템에서 정의한 최대 길이를 초과하는 경우(PathTooLongException)

  • 경로의 파일 이름이나 폴더 이름에 콜론(:)이 있거나 이름의 형식이 잘못된 경우(NotSupportedException)

  • 경로를 보는 데 필요한 권한이 사용자에게 없는 경우(SecurityException)

  • 대상 파일이 있지만 액세스할 수 없는 경우(UnauthorizedAccessException)

설명

이 메서드는 디렉터리와 디렉터리 내용을 복사합니다. 대상 디렉터리가 없으면 자동으로 만들어집니다. 대상 위치에 이름이 같은 디렉터리가 있는 경우에는 두 디렉터리의 내용이 병합됩니다. 작업 중에 디렉터리에 새 이름을 지정할 수 있습니다.

디렉터리 내에서 파일을 복사할 때 특정 파일로 인해 예외가 throw될 수 있습니다. 예를 들어, overwrite가 False로 설정된 상태에서 병합하는 중에 존재하는 파일과 같은 경우입니다. 이러한 예외가 throw되면 단일 예외로 통합됩니다. 단일 예외의 Data 속성은 항목을 파일 또는 디렉터리 경로가 키이고 특정 예외 메시지가 해당 값에 포함되는 IDictionary 형태로 저장합니다. For…Each를 사용하여 항목을 열거합니다.

작업

다음 표에서는 My.Computer.FileSystem.CopyDirectory 메서드와 관련된 작업의 예를 보여 줍니다.

작업

참조

디렉터리 복사

방법: Visual Basic에서 디렉터리를 다른 디렉터리에 복사

예제

다음 예제에서는 TestDirectory1 디렉터리를 TestDirectory2에 복사하여 기존 파일을 덮어씁니다.

My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)

C:\TestDirectory1 및 C:\TestDirectory2를 복사할 디렉터리의 경로와 이름 및 복사할 위치로 바꿉니다.

요구 사항

네임스페이스:Microsoft.VisualBasic.MyServices

클래스:FileSystemProxy(FileSystem에 대한 액세스 제공)

어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

프로젝트 형식별 사용 가능 여부

프로젝트 형식

사용 가능 여부

Windows 응용 프로그램

클래스 라이브러리

콘솔 응용 프로그램

Windows 컨트롤 라이브러리

웹 컨트롤 라이브러리

Windows 서비스

웹 사이트

권한

다음과 같은 사용 권한이 필요합니다.

권한

설명

FileIOPermission

파일 및 폴더에 대한 액세스 가능성을 제어합니다. 연관된 열거형: Unrestricted

UIPermission

사용자 인터페이스 및 클립보드와 관련된 권한을 제어합니다. 연관된 열거형: SafeSubWindows

자세한 내용은 코드 액세스 보안권한 요청을 참조하십시오.

참고 항목

작업

방법: Visual Basic에서 디렉터리의 파일 컬렉션 가져오기

방법: Visual Basic에서 디렉터리 이동

방법: Visual Basic에서 디렉터리의 내용 이동

방법: Visual Basic에서 파일 경로의 구문 분석

방법: Visual Basic에서 파일의 절대 경로 확인

방법: Visual Basic에서 디렉터리가 있는지 확인

참조

My.Computer.FileSystem 개체

UICancelOption 열거형