Como: Mover uma coleção de arquivos em Visual Basic

O método My.Computer.FileSystem.MoveFile permite que você mova arquivos entre os diretórios.

Se a estrutura de destino não existir, será criada.

Para mover um conjunto de arquivos de um diretório para outro

  • Defina o conjunto de arquivos e chame o método MoveFile. Este exemplo move todos os arquivos no diretório MyDocuments para a pasta StorageDir.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.*")
    
        Dim foundFileInfo As New System.IO.FileInfo(foundFile)
        My.Computer.FileSystem.MoveFile(foundFile, "C:\StorageDir\" & foundFileInfo.Name)
    Next
    

Programação robusta

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 arquivo de origem não é válido ou não existe (FileNotFoundException).

  • O caminho combinado aponta para um diretório existente, o arquivo de destino existe e overwrite é definido como False, um arquivo no diretório de destino com o mesmo nome está em uso, ou o usuário não possui permissões suficientes para acessar o arquivo (IOException).

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

  • showUI é definido como True,onUserCancelOption é definida como ThrowException, e o usuário cancelou a operação ou um erro não especificado de E/S ocorrerá (OperationCanceledException).

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

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

  • O usuário não tem permissão necessária (UnauthorizedAccessException).

Consulte também

Tarefas

Como: Renomear um arquivo em Visual Basic

Como: Mover um arquivo em Visual Basic

Como: Criar uma cópia de um arquivo em um diretório diferente em Visual Basic

Como: Analisar os caminhos de arquivo em Visual Basic

Como: Move um diretório de Visual Basic

Como: Mover o conteúdo de um diretório Visual Basic

Referência

MoveFile

GetFiles

Outros recursos

Criar, excluir e mover arquivos e pastas em Visual Basic