Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56

Массовое переименование файлов

24.05.2014, 02:34. Показов 2319. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста, в чем ошибка?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  int k, i=0;
  TSearchRec F;
  AnsiString str;
 
  k = FindFirst("C:\\dd\\*.*", faDirectory, F);
  while (k==0){
    str = IntToStr(i)+".jpg";
    RenameFile(F.Name.c_str(), str);
    cout << F.Name.c_str() << endl;
    k = FindNext(F);
    i++;
  }
 
  getchar();
  return 0;
}           
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2014, 02:34
Ответы с готовыми решениями:

Массовое переименование файлов
Здравствуйте, подскажите пожалуйста как в определенной папке (используя DirectoryListBox и FileListBox) удалить из названия файлов...

Загрузка имен файлов в StringGrid и переименование после редактирования
Добрый день всем! Программа загружает имена всех файлов с расширением pdf из каталога в столбец компонента StringGrid. TSearchRec...

Массовое переименование файлов
На локальном диске имеется большое количество файлов с именами 1.txt 1a.txt 57e.txt и т.д. Мне их нужно переименовать все разом. Также...

5
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,395
Записей в блоге: 3
24.05.2014, 09:43
Цитата Сообщение от FZ@8qQ Посмотреть сообщение
в чем ошибка?
вот в этой строчке...
Цитата Сообщение от FZ@8qQ Посмотреть сообщение
k = FindFirst("C:\\dd\\*.*", faDirectory, F);
Ты пытаешься переименовать все элементы в папке C:\\dd при условии, что все эти элементы - папки (каталоги, директории).
Измени faDirectory на faAnyFile - faDirectory.

Добавлено через 23 минуты
И, кстати, в 19 строке поставь FindClose(F);
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56
24.05.2014, 13:03  [ТС]
Исправил. Кое, что поменялось, но толку мало. Результат от первого немного отличается. В скрине 1 как было. в скрине 2 как стало.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <vcl.h>
#pragma hdrstop
#include <windows.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <iostream>
#pragma argsused
using namespace std;
 
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  int k, i=0;
  TSearchRec F;
  AnsiString str;
 
  k = FindFirst("C:\\dd\\*.*", faAnyFile - faDirectory, F);
  while (k==0){
    str = IntToStr(i)+".jpg";
    RenameFile(F.Name.c_str(), str);
    cout << F.Name.c_str() << endl;
    k = FindNext(F);
    i++;
  }
  FindClose(F);
  getchar();
  return 0;
}
//---------------------------------------------------------------------------
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56
24.05.2014, 13:08  [ТС]
Скрины
Миниатюры
Массовое переименование файлов   Массовое переименование файлов  
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,395
Записей в блоге: 3
24.05.2014, 14:51
Лучший ответ Сообщение было отмечено FZ@8qQ как решение

Решение

Ну вот так все переименовывает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma hdrstop
#pragma argsused
 
#include <stdio.h>
#include <vcl.h>
#include <windows.h>
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
   TSearchRec SR;
   String s;
   int i = 0;
   ChDir("c:\\111");
   if (FindFirst("*.*", faAnyFile, SR) == 0)
    do
      {
        s = IntToStr(i) + ".jpg";
        RenameFile(SR.Name,s);
        i++;
      }
    while (FindNext(SR) == 0);
    FindClose(SR);
    ChDir(ExtractFilePath(Application->ExeName));
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56
24.05.2014, 21:18  [ТС]
Спасибо! Вы могли бы сказать, почему мой кол не работал?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2014, 21:18
Помогаю со студенческими работами здесь

Массовое переименование файлов
Доброго времени суток.Не могу решить задачу. Суть в следующем: есть набор файлов 1.htm, 2.htm, 3.htm,....N.htm. Их нужно переименовать c...

Массовое переименование файлов
Имеется много файлов музыки. Еще во времена скачивания музыки с ВК, она скачивалась с такими именами, но метаданные сохранились. Я бы...

Массовое переименование файлов
Подскажите пожалуйста возможно ли написать код для массового переименование файлов следующим образом: Пройтись по всем файлам папки и...

Массовое переименование файлов
Ребята помогите, проблема с переименовыванием файлов. Если в указанную папку кладутся например 2 файла, то цикл почему-то идет 3 раза. В...

Массовое переименование файлов
Доброго всем дня, подскажите пожалуйста как решить данный вопрос. Имеется raid раздел размером 6тб, на нем заполнено файлами и папками...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru