Como copiar um diretório para outro diretório no Visual Basic
Use o método CopyDirectory para copiar um diretório para outro diretório. Esse método copia o conteúdo do diretório, bem como o próprio diretório. Se o diretório de destino não existir, ele será criado. Se existir um diretório com o mesmo nome no local de destino e overwrite
estiver definido como False
, o conteúdo dos dois diretórios será mesclado. Você pode especificar um novo nome para o diretório durante a operação.
Ao copiar arquivos em um diretório, podem ser geradas exceções que são causadas pelo arquivo específico, como um arquivo existente durante a mesclagem enquanto overwrite
é definido como False
. Quando essas exceções são lançadas, elas são consolidadas em uma única exceção, cuja propriedade Data
contém entradas em que o caminho do arquivo ou do diretório é a chave e a mensagem de exceção específica está contida no valor correspondente.
Para copiar um diretório para outro diretório
Use o método
CopyDirectory
, especificando nomes de diretório de origem e destino. O exemplo a seguir copia o diretório denominadoTestDirectory1
paraTestDirectory2
, substituindo arquivos existentes.My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
Este exemplo de código também está disponível como um snippet de código do IntelliSense. No selecionador de snippet de código, ele está localizado em Sistema de Arquivos – Processando Unidades, Pastas e Arquivos. Para obter mais informações, consulte Snippets de Código.
Programação robusta
As seguintes condições podem causar uma exceção:
O novo nome especificado para o diretório contém dois pontos (:) ou barra (\ ou /) (ArgumentException).
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).destinationDirectoryName
éNothing
ou é uma cadeia de caracteres vazia (ArgumentNullException)O diretório de origem não existe (DirectoryNotFoundException).
O diretório de origem é um diretório raiz (IOException).
O caminho combinado aponta para um arquivo existente (IOException).
O caminho de origem e o caminho de destino são os mesmos (IOException).
ShowUI
está definido comoUIOption.AllDialogs
e o usuário cancelou a operação ou um ou mais arquivos no diretório não podem ser copiados (OperationCanceledException).A operação é cíclica (InvalidOperationException).
O caminho contém dois pontos (:) (NotSupportedException).
O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).
Um nome de pasta 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).
Um arquivo de destino existe, mas não pode ser acessado (UnauthorizedAccessException).