Практическое руководство. Перемещение каталога в Visual Basic
Метод 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