Como: Copiar um diretório para outro diretório no Visual Basic
Use o CopyDirectory método para copiar um diretório para outro diretório. Este 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 dentro de um diretório, podem ser lançadas exceções causadas por um arquivo específico, como um arquivo existente durante uma mesclagem enquanto overwrite
está definido como False
. Quando essas exceções são lançadas, elas são consolidadas em uma única exceção, cuja Data
propriedade contém entradas nas quais o caminho do arquivo ou 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, especificando nomes de
CopyDirectory
diretório de origem e destino. O exemplo a seguir copia o diretório nomeadoTestDirectory1
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 trecho de código IntelliSense. No seletor de trechos de código, ele está localizado em Sistema de arquivos - Unidades de processamento, pastas e arquivos. Para obter mais informações, consulte Trechos 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 caracteres de comprimento zero, contém apenas espaço 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 cancela 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 arquivo ou pasta no caminho contém dois pontos (:) ou está em um formato inválido (NotSupportedException).
O usuário não tem as permissões necessárias para visualizar o caminho (SecurityException).
Um arquivo de destino existe, mas não pode ser acessado (UnauthorizedAccessException).