다음을 통해 공유


방법: 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)
    

강력한 프로그래밍

다음 조건으로 인해 예외가 발생할 수 있습니다.

  • 경로는 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 디바이스 경로(\\.\ArgumentException로 시작)입니다.

  • 시스템에서 절대 경로(ArgumentException)를 검색할 수 없습니다.

  • 경로가 (Nothing)이므로 ArgumentNullException 유효하지 않습니다.

  • 원본 파일이 잘못되거나 존재하지 않습니다(FileNotFoundException).

  • 결합된 경로는 기존 디렉터리(IOException)를 가리킵니다.

  • 대상 파일이 존재하고 overwriteFalse로 설정됩니다 (IOException).

  • 사용자에게 파일(IOException)에 액세스할 수 있는 충분한 권한이 없습니다.

  • 이름이 같은 대상 폴더의 파일이 사용IOException 중()입니다.

  • 경로의 파일 또는 폴더 이름에 콜론(:) 포함되거나 잘못된 형식(NotSupportedException)이 있습니다.

  • ShowUITrue로 설정되고, onUserCancelThrowException로 설정되었으며, 사용자가 작업을 취소했습니다(OperationCanceledException).

  • ShowUI 가 설정 True되고, onUserCancel 로 설정 ThrowException되고, 지정되지 않은 I/O 오류가 발생합니다(OperationCanceledException).

  • 경로가 시스템 정의 최대 길이(PathTooLongException)를 초과합니다.

  • 사용자에게 필요한 권한()이UnauthorizedAccessException 없습니다.

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

참고하십시오