Как переименовать папку/каталог в С#?

Вопрос:Пусть: Папка для переименования C:TempTorename чтобы: C:TempToRename Directory.Move не работает, потому что папка (:tempTorename) уже существует. Я ищу решение, которое не требует создания временной папки. У меня есть это решение: Перейдите в временную папку (уникальное имя), например, c:tempTorenameTemp Переместитесь из папки temp в новую папку. например c:tempToRename Проблема в том, что моя папка может стать

Вопрос:

Пусть:
Папка для переименования
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 для файла

Оцените статью
Добавить комментарий