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

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

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

CopyFile 메서드를 사용하여 파일을 디렉터리로 복사할 수 있습니다.

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

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

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

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

    Next
    

예시

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

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

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

.NET Framework 보안

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

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

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

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

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

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

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

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

참고 항목