Como: Copiar arquivos com um padrão específico para um diretório Visual Basic

O GetFiles método retorna uma coleção somente leitura de seqüências de caracteres que representa os nomes de caminho para os arquivos. Você pode usar o parâmetro wildCards para especificar um padrão.

Uma coleção vazia é retornada se nenhum arquivo correspondente for encontrado.

Você pode usar o CopyFile método para copiar os arquivos para um diretório.

Para copiar arquivos com um padrão específico para um diretório

  1. Use o método GetFiles para retornar a lista de arquivos. Este exemplo retorna todos os arquivos .rtf do diretório especificado.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Use o método CopyFile para copiar os arquivos. Este exemplo copia os arquivos para o diretório chamado testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
    
  3. Feche a instrução For com uma instrução Next.

    Next
    

Exemplo

O exemplo a seguir, que apresenta os trechos acima em sua forma completa, copia todos os arquivos .rtf do diretório especificado para o diretório chamado 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

Segurança

As seguintes condições podem causar uma exceção:

  • O caminho não é válido para um dos seguintes motivos: ela é uma seqüência de comprimento zero, ele contém somente espaços em branco, ele contém caracteres inválidos ou é um caminho de dispositivo (começa com \ \. \) (ArgumentException).

  • O caminho não é válido porque ele é Nothing (ArgumentNullException).

  • O diretório não existe (DirectoryNotFoundException).

  • O diretório aponta para um arquivo existente (IOException).

  • O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).

  • Um nome de arquivo ou de diretório no caminho contém dois-pontos (:) ou está em um formato inválido (NotSupportedException).

  • O usuário não possui permissões necessárias para exibir o caminho (SecurityException). O usuário não possui as permissões necessárias (UnauthorizedAccessException).

Consulte também

Tarefas

Como: Localizar subdiretórios com um padrão específico em Visual Basic

Solução de problemas: Leitura e gravação em arquivos de texto (Visual Basic)

Como: Obtenha a coleção de arquivos em um diretório em Visual Basic

Referência

CopyFile

GetFiles