방법: Visual Basic에서 동일한 디렉터리에 파일의 복사본 만들기

My.Computer.FileSystem.CopyFile 메서드를 사용하여 파일을 복사합니다. 매개 변수를 통해 기존 파일을 덮어쓰고, 파일 이름을 바꾸고, 작업의 진행률을 표시하고, 사용자가 작업을 취소할 수 있습니다.

동일한 폴더에 파일의 복사본을 만들려면

  • 대상 파일과 위치를 제공하여 CopyFile 메서드를 사용합니다. 다음 예제에서는 test2.txt라는 test.txt의 복사본을 만듭니다.

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.DoNothing)
    

동일한 폴더에 파일의 복사본을 만들고 기존 파일을 덮어쓰려면

  • 대상 파일과 위치를 제공하고 overwriteTrue로 설정하여 CopyFile 메서드를 사용합니다. 다음 예제에서는 test2.txt라는 test.txt의 복사본을 만들고 해당 이름의 기존 파일을 덮어씁니다.

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", True)
    

강력한 프로그래밍

다음 조건에서는 예외가 throw될 수 있습니다.

  • 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 경로가 디바이스 경로인 경우(\\.\로 시작됨)(ArgumentException)와 같은 여러 가지 이유 중 하나로 경로가 올바르지 않습니다.

  • 시스템이 절대 경로를 검색할 수 없는 경우(ArgumentException)

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

  • 소스 파일이 잘못되었거나 존재하지 않는 경우(FileNotFoundException)

  • 조합된 경로가 기존 디렉터리를 가리키는 경우(IOException)

  • 대상 파일이 있고 overwriteFalse로 설정된 경우(IOException)

  • 사용자에게 파일에 액세스할 수 있는 권한이 없는 경우(IOException)

  • 대상 폴더에 있는 동일한 이름의 파일이 사용 중인 경우 (IOException)

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

  • ShowUITrue로 설정되고, onUserCancelThrowException으로 설정되고, 사용자가 작업을 취소한 경우(OperationCanceledException)

  • ShowUITrue로 설정되고, onUserCancelThrowException으로 설정되고, 지정하지 않은 I/O 오류가 발생하는 경우(OperationCanceledException)

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

  • 사용자에게 필요한 권한이 없는 경우(UnauthorizedAccessException)

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

참고 항목