Практическое руководство. Перемещение каталога в Visual Basic

Обновлен: Ноябрь 2007

Метод My.Computer.FileSystem.MoveDirectory можно использовать для перемещения каталогов.

При попытке перемещения каталога внутрь несуществующего каталога такой каталог будет создан.

Если параметру overwrite присвоено значение True и конечный каталог существует, новые файлы будут добавлены к уже существующим в каталоге файлам. Файлы в конечном каталоге будут перезаписаны, если исходный каталог содержит файлы с теми же именами.

Чтобы переместить каталог

  • Используйте метод MoveDirectory для перемещения каталога, задавая исходный и конечный каталоги. В следующем примере каталог Dir2 перемещается внутрь каталога Dir1.

    My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2")
    

Чтобы переместить каталог и заменить существующие каталоги

  • Используйте метод MoveDirectory для перемещения каталога, задавая исходный и конечный каталоги. В следующем примере каталог Dir1 перемещается внутрь каталога Dir2, а его файлы добавляются к существующим файлам, если конечный каталог уже существует.

    My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2", True)
    

Отказоустойчивость

Исключение может возникнуть при следующих условиях.

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

  • Путь равен Nothing (ArgumentNullException).

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

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

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

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

  • Файл уже существует, а параметру overwrite присвоено значение False (IOException).

  • Не удается скопировать подкаталог файла (IOException).

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

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

  • Параметру onUserCancel присвоено значение UICancelOption.ThrowException, при этом пользователь отменил операцию (OperationCanceledException).

  • Параметру onUserCancel присвоено значение UICancelOption.ThrowException, при этом операция не может быть завершена (OperationCanceledException).

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

  • Параметру onUserCancel присвоено значение UICancelOption.ThrowException, при этом пользователь не имеет необходимых разрешений (SecurityException).

  • Пользователь не имеет разрешений на изменение файла (UnauthorizedAccessException).

См. также

Задачи

Практическое руководство. Перемещение содержимого каталога в Visual Basic

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

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

Практическое руководство. Анализ путей к файлам в Visual Basic

Другие ресурсы

Создание, удаление и перемещение файлов и папок в Visual Basic