Как переименовать файлы в каталоге?

Здравствуйте.
В какой-либо папке, используя C++ необходимо переименовать все файлы по определённому правилу. Как получить имя файла и изменить его?
OS: Windows 8.1
  • Вопрос задан
  • 5021 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
gibboncho
@gibboncho
TSearchRec Search;
			AnsiString Path = "C:\\Windows";
			if (FindFirst(Path + "\\*", faDirectory, Search) == 0) {
				do {
					if
					(Search.Name == "." || Search.Name == ".." )
						continue;
					if (Search.FindData.dwFileAttributes &
						FILE_ATTRIBUTE_DIRECTORY) {
						// Если это папка
						//
					}
					else {
						//копируем файл с новым именем
                                                CopyFile((Path+"\\"+Search.Name).t_str(),(Path+"\\"+newName).t_str(), 0);
                                                //Удаляем файл со старым именем
                                                //Запоминаем путь к файлу, который нужно удалить и после того как освободим Search удаляем.
					};
				}
				while (FindNext(Search) == 0);
				FindClose(Search);
			};
Ответ написан
@v_prom
либо использовать команды ОС.
либо так можно:
#include <stdio.h>
      rename (char *oldname, char *newname);       /* ANSI */
Ответ написан
Комментировать
@DancingOnWater
Оставаясь в рамках стандарта(С++03, С++11 или готовящимся C++1y) получить имя уже существующих файлов невозможно.

В вашем распоряжении множество библиотек на выбор, самые известные Qt и boost
Ответ написан
Комментировать
Arseny092
@Arseny092
Нажатием F2 или введя в CMD rename
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы