Como criar uma cópia de um arquivo em um diretório diferente no Visual Basic

O método My.Computer.FileSystem.CopyFile permite a cópia de arquivos. Os parâmetros desse método oferecem a capacidade de substituir os arquivos existentes, renomear o arquivo, mostrar o progresso da operação e permitir que o usuário cancele a operação.

Copiar um arquivo de texto para outra pasta

  • Use o método CopyFile para copiar um arquivo, especificando o arquivo de origem e o diretório de destino. O parâmetro overwrite permite especificar se os arquivos existentes devem ser sobrescritos ou não. Os exemplos de código a seguir demonstram como usar CopyFile.

    ' Copy the file to a new location without overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt")
    
    ' Copy the file to a new folder, overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    
    ' Copy the file to a new folder and rename it.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\NewFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    

Programação robusta

As seguintes condições podem causar o lançamento de 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 sistema não conseguiu recuperar o caminho absoluto (ArgumentException).

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

  • O arquivo de origem não é válido ou não existe (FileNotFoundException).

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

  • O arquivo de destino já existe e overwrite está definido como False (IOException).

  • O usuário não tem permissões suficientes para acessar o arquivo (IOException).

  • Um arquivo na pasta de destino com o mesmo nome está sendo usado (IOException).

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

  • ShowUI está definido como True, onUserCancel está definido como ThrowException e o usuário cancelou a operação (OperationCanceledException).

  • ShowUI está definido como True, onUserCancel está definido como ThrowException e ocorreu um erro de E/S não especificado (OperationCanceledException).

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

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

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

Confira também