방법: Visual Basic에서 특정 패턴의 파일을 디렉터리에 복사

업데이트: 2007년 11월

My.Computer.FileSystem.GetFiles 메서드는 파일의 경로 이름을 나타내는 읽기 전용 문자열 컬렉션을 반환합니다. wildCards 매개 변수를 사용하여 특정 패턴을 지정할 수 있습니다.

일치하는 파일이 없으면 빈 컬렉션이 반환됩니다.

My.Computer.FileSystem.CopyFile 메서드를 사용하면 파일을 디렉터리에 복사할 수 있습니다.

특정 패턴의 파일을 디렉터리에 복사하려면

  1. GetFiles 메서드를 사용하여 파일 목록을 반환합니다. 이 예제에서는 지정된 디렉터리에 있는 모든 .rtf 파일을 반환합니다.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. CopyFile 메서드를 사용하여 파일을 복사합니다. 이 예제에서는 파일을 testdirectory라는 디렉터리에 복사합니다.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
    
  3. Next 문으로 For 문을 닫습니다.

    Next
    

예제

위의 코드 조각의 전체 코드인 다음 예제에서는 지정된 디렉터리에 있는 모든 .rtf 파일을 testdirectory라는 이름의 디렉터리에 복사합니다.

For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
    My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
    FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
Next

보안

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

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

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

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

  • 디렉터리가 기존 파일을 가리키는 경우(IOException)

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

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

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

참고 항목

작업

방법: Visual Basic에서 특정 패턴의 하위 디렉터리 찾기

문제 해결: 텍스트 파일 읽기 및 쓰기

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

참조

My.Computer.FileSystem.CopyFile 메서드

My.Computer.FileSystem.GetFiles 메서드