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

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

텍스트 파일을 다른 폴더로 복사하려면

  • 원본 파일과 대상 디렉터리를 지정해서 CopyFile 메서드를 사용하여 파일을 복사합니다. overwrite 매개 변수를 사용하면 기존 파일을 덮어쓸지 여부를 지정할 수 있습니다. 다음 코드 예제에서는 CopyFile을 사용하는 방법을 보여 줍니다.

    ' Copy the file to a new location without overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt")
    
    ' Copy the file to a new folder, overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    
    ' Copy the file to a new folder and rename it.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\NewFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    

강력한 프로그래밍

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

참고 항목