Поделиться через


Практическое руководство. Копирование каталога в другой каталог в Visual Basic

CopyDirectory Используйте метод для копирования каталога в другой каталог. Этот метод копирует содержимое каталога, а также сам каталог. Если целевой каталог не существует, он будет создан. Если каталог с тем же именем существует в целевом расположении и overwrite имеет Falseзначение , содержимое двух каталогов будет объединено. Во время операции можно указать новое имя каталога.

При копировании файлов в каталоге могут возникать исключения, вызванные определёнными файлами, например, файлом, существующим во время слияния, когда overwrite установлен в False. При возникновении таких исключений они объединяются в одно исключение, свойство которого Data содержит записи, в которых путь к файлу или каталогу является ключом, а конкретное сообщение об исключении содержится в соответствующем значении.

Копирование каталога в другой каталог

  • CopyDirectory Используйте метод, указав имена исходных и целевых каталогов. Следующий пример копирует каталог с именем TestDirectory1 в TestDirectory2, перезаписыв существующие файлы.

    My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
    

    Этот пример кода также доступен в виде фрагмента кода IntelliSense. В средстве выбора фрагментов кода он находится в Файловой системе — Обработка Дисков, Папок и Файлов. Дополнительные сведения см. в фрагментах кода .

Надежное программирование

Следующие условия могут вызвать исключение:

  • Новое имя, указанное для каталога, содержит двоеточие (:) или косую черту (\ или /) (ArgumentException).

  • Путь недействителен по одной из следующих причин: это строка нулевой длины, она содержит только пробелы, содержит недопустимые символы, или это путь устройства (начинается с \\.\).\) (ArgumentException).

  • Путь недействителен, так как он Nothing (ArgumentNullException).

  • destinationDirectoryName имеет Nothing или пустую строку (ArgumentNullException)

  • Исходный каталог не существует (DirectoryNotFoundException).

  • Исходный каталог — это корневой каталог (IOException).

  • Объединенный путь указывает на существующий файл (IOException).

  • Исходный путь и целевой путь совпадают (IOException).

  • ShowUI задано значение UIOption.AllDialogs , и пользователь отменяет операцию, или один или несколько файлов в каталоге не могут быть скопированы (OperationCanceledException).

  • Операция циклическая (InvalidOperationException).

  • Путь содержит двоеточие (:) (NotSupportedException).

  • Путь превышает системную максимальную длину (PathTooLongException).

  • Имя файла или папки в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).

  • У пользователя отсутствуют необходимые разрешения для просмотра пути (SecurityException).

  • Целевой файл существует, но не может быть доступ к ней (UnauthorizedAccessException).

См. также