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

Use o método My.Computer.FileSystem.CopyFile para copiar arquivos. Os parâmetros permitem substituir os arquivos existentes, renomear o arquivo, mostrar o progresso da operação e permitir que o usuário cancele a operação.

Para criar uma cópia de um arquivo na mesma pasta

  • Use o método CopyFile, fornecendo o arquivo e o local de destino. O exemplo a seguir cria uma cópia do test.txt chamada test2.txt.

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.DoNothing)
    

Para criar uma cópia de um arquivo na mesma pasta, sobrescrevendo arquivos existentes

  • Use o método CopyFile, fornecendo o arquivo e o local de destino e configurando overwrite como True. O exemplo a seguir cria uma cópia do test.txt com o nome test2.txt e substitui os arquivos existentes com este nome.

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", True)
    

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