Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Перемещение папки в другую директорию


Автор: yngwie19 15.1.2009, 14:03
Всем привет. подскажите как можно папку со всеми файлами перенести в другую директорию? Спасибо

Автор: yngwie19 15.1.2009, 14:51
Вот вроде нашел слудующую функцию:
Код

MoveFileEx(PathToFolderIn,PathToFolder To,MOVEFILE_REPLACE_EXISTING)


Она к сожадению работает немного не как, как Я бы хотел. Дело в том, что она не перезаписывает папку (если она уже ранее была создана). Она лишь перезаписывает файлы с помощью установленого флага MOVEFILE_REPLACE_EXISTING.
А мне нужно, чтобы она перезаписывала всю папку с файлами если она уже была создана.

Или мне нужно проверять есть ли уже такая папка, ее удалить и только после этого применить данную функцию?

Автор: mes 15.1.2009, 15:08
Если в целевой директории есть другие файлы, не совпадающие по имени с файлами исходной папки, то такие файлы остаются без изменения.

Автор: yngwie19 15.1.2009, 15:56
mes, и соответственнно если целевая папка у меня пустая, и Я копирую туда папку с этим же именем в которой есть файлы, то он туда ничего не переместит. Да?

Автор: mes 15.1.2009, 16:02
Цитата(yngwie19 @  15.1.2009,  14:56 Найти цитируемый пост)
сли целевая папка у меня пустая,

нет..  переместит.. 
Вот если целевая не пустая, то там ничего не сотрется, только перезапишется при совпадении имен и установленом флаге.

Автор: yngwie19 15.1.2009, 16:10
mes, Я создал пустую папку "newDate", затем хочу переместиь в нее все файлы из папки "oldDate". Пишу функцию:
Код

MoveFileEx("C:\\newData","C:\\oldData\\",MOVEFILE_REPLACE_EXISTING);

Но у меня почему-то папка newData как была пустой, так и осталась. В чем причина?

Кстати, если папку newDate не создавать, то он переносит нормально...

Автор: Kallikanzarid 15.1.2009, 21:29
Параметры местами поменяй  smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)