Como copiar arquivos com um padrão específico para um diretório no Visual Basic
O método GetFiles retorna uma coleção somente leitura de cadeias de caracteres que representam os nomes de caminho para os arquivos. É possível usar o parâmetro wildCards
para especificar um padrão específico.
Se nenhum arquivo correspondente for encontrado, uma coleção vazia será retornada.
Você pode usar o método CopyFile para copiar os arquivos em um diretório.
Copiar arquivos com um padrão específico para um diretório
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")
Use o método
CopyFile
para copiar os arquivos. Este exemplo copia os arquivos para o diretório de nometestdirectory
.My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
Feche a instrução
For
com uma instruçãoNext
.Next
Exemplo
O exemplo a seguir, que apresenta os snippets acima em sua forma completa, copia todos os arquivos .rtf do diretório especificado para o diretório de nome 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 do .NET Framework
As seguintes condições podem causar uma exceção:
O caminho não é válido por um dos seguintes motivos: é uma cadeia de comprimento zero, contém apenas espaços em branco, contém caracteres inválidos ou é um caminho de dispositivo (começa com \\.\) (ArgumentException).
O caminho não é válido porque é
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).