joseeo Ответов: 1

Переименование средней папки в структуре каталогов, содержащей файлы


Использование Visual studio 2015. Программирование набора символов unicode и MFC. Поэтому я использую CStrings ... ect

У меня очень длинная структура каталогов, в которых находятся файлы. Мне нужно изменить имя одной папки в структуре. Пример ниже:

Старое название: F:\folder1\folder1\folder3\folder4\backups\JumpList 1 \ папка A\ ... файлы
\папка B\ ... файлы

Новое имя: F:\folder1\folder1\folder3\folder4\backups\JumpList 2\папка\ ... файлы

Примечание 1: папка меняется с "JumpList 1" на "JumpList 2". Все остальное остается прежним. В папке JumpList есть две папки, обе содержащие файлы.

Что я уже пробовал:

Я еще ничего не пробовал для этой конкретной задачи, так как это небольшая часть всего проекта, однако я боюсь, что простого способа сделать это не существует. Это означает использование CFindFile, FindFirst, FindNext, RemoveDirectory, CreateDirectory .. ЭСТ, с большим количеством грубой силы.

1 Ответов

Рейтинг:
2

Midi_Mick

Я бы посмотрел на получение нужной папки в качестве IShellItem и использование интерфейса IFileOperation для выполнения переименования. Потребуется немного чтения, чтобы получить скорость получения экземпляров этих интерфейсов, но это будет стоить усилий из-за гибкости, которую он предоставит вам во всех файловых операциях.