Вопрос:
Пусть:
Папка для переименования
C:TempTorename
чтобы:
C:TempToRename
Directory.Move не работает, потому что папка (:tempTorename) уже существует.
Я ищу решение, которое не требует создания временной папки.
У меня есть это решение:
Перейдите в временную папку (уникальное имя), например, c:tempTorenameTemp
Переместитесь из папки temp в новую папку. например c:tempToRename
Проблема в том, что моя папка может стать очень большой, и перемещение может занять некоторое время. Мне нравится решение для Windows Explorer, в котором пользователь переименовывает на место независимо от размера.
спасибо за ваше время.
Лучший ответ:Directory.Move(@»C:TempDir1″, @»C:Tempdir1_temp»); Directory.Move(@»C:Tempdir1_temp», @»C:Tempdir1″);
Файлы не будут перемещены, если вы не переместите их на другой том. Если пункт назначения находится на том же томе, изменится только имя каталога.
Ответ №1
Directory.Move не масштабируется с размером каталога (если вы не копируете другой диск), поэтому нет ничего плохого в вызове его дважды.
Ответ №2
Вот как это можно сделать:
My.Computer.FileSystem.RenameDirectory(«c:tempTorename», «ToRename»)
Первым параметром является текущий каталог, вторым параметром является новое имя каталога.
Источник: FileSystem.RenameDirectory Method
Ответ №3
Directory.Move для каталога
File.Move для файла