Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Как переименовать много файлов   Найти похожие ветки 

 
Handle ©   (2006-09-05 09:36) [0]

Есть довольно много фотографий сделанных цифровым фотоаппаратом и у всех имена что то типа  00007001, 00007002, подскажите пожалуйста как переименовать их по дате снимка.


 
Guest001   (2006-09-05 09:46) [1]

sr: TSearchRec;
FindFirst("*.*", faAnyFile, sr)
FindNext(sr)
+F1+


 
default ©   (2006-09-05 09:51) [2]

например, так:
использовать TStringList c Sorted = True
перебирая файлы добавляем в TStringList через AddObject пару значений - в качестве строки дату снима, а в качестве object-а имя файла
после всех добавлений список будет отсортирован по строке, то есть по дате
пробегаемся по списку сначала(то есть в порядке возрастания дат) и через массив Objects получаем имена файлов для переименования


 
Palladin ©   (2006-09-05 09:54) [3]

а кто сказал что дата создания файла будет дата снимка?


 
default ©   (2006-09-05 10:01) [4]


procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
  fn: String;
begin
  SL := TStringList.Create;
  fn := "FileName";
  SL.AddObject("FileDate", TObject(fn));
  Caption := String(SL.Objects[0]) // выведется "FileName"
end;


только учти как сравниваются строки!
"25.02.1983" > "12.03.2006"
то есть дату предварительно надо перевернуть
то есть вместо dd.mm.yyyy надо yyyy.mm.dd


 
default ©   (2006-09-05 10:03) [5]

Palladin ©   (05.09.06 09:54) [3]
это я предполагаю


 
Zeqfreed ©   (2006-09-05 10:09) [6]

> [2] default ©   (05.09.06 09:51)

Я бы наоборот загнал их в TList и отсортировал по числовому представлению даты. Сортировка строк будет гораздо затратней.


 
Virgo_Style ©   (2006-09-05 10:12) [7]

по идее, надо залезть jpeg"у в то место, которое у mp3 называется Tag. Там наверняка много всего вкусного =)


 
Handle ©   (2006-09-05 10:12) [8]

Спасибо решил проблему.


 
default ©   (2006-09-05 10:26) [9]

Zeqfreed ©   (05.09.06 10:09) [6]
вообще, снимки позже появляющиеся на свет обычно имеет большие номера и номера идут один за другим
может у него там набор файлов типа
00007001..00007237 тогда вообще никакой сортировки не надо


 
Zeqfreed ©   (2006-09-05 10:33) [10]

> [9] default ©   (05.09.06 10:26)

Ну на практике в такой ситуации сортировка действительно может не потребоваться. Но если побыть немного буквоедом, то MS, вроде, не гарантирует перечисление файлов ф-циями FindFirstFile/FindNextFile в лексикографическом порядке и может изменить это поведение в будущем :)


 
default ©   (2006-09-05 10:36) [11]

Zeqfreed ©   (05.09.06 10:33) [10]
а это без разницы
если есть набор имён 00007000..00008000
и встретив имя 000070003 мы поймём, что это имя 4 по счёту начиная с 1


 
Zeqfreed ©   (2006-09-05 10:39) [12]

> [11] default ©   (05.09.06 10:36)

А, понял мысль :) Тогда порядок не важен, согласен.


 
Плохиш ©   (2006-09-05 10:56) [13]


> Virgo_Style ©   (05.09.06 10:12) [7]

EXIF

http://djernaes.dk/martin/jpeginfo.html
http://www.torry.net/pages.php?id=104&SID=a98f01a9d2ff194eeb70eb5f2dfe4249


 
palva ©   (2006-09-05 12:14) [14]


> Zeqfreed ©   (05.09.06 10:33) [10]
> > [9] default ©   (05.09.06 10:26)
> MS, вроде, не гарантирует перечисление файлов ф-циями
> FindFirstFile/FindNextFile в лексикографическом порядке


Если FAT, то выдача идет в порядке физического расположения записей о файлах.



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.049 c
3-1153332500
DimDim
2006-07-19 22:08
2006.09.24
Запрос с вычислением


3-1153135691
Term
2006-07-17 15:28
2006.09.24
Обработка собитий в Rave reports


1-1155644817
DelphiLexx
2006-08-15 16:26
2006.09.24
Копировать и вставить несколько контролов


2-1157193706
SergP.
2006-09-02 14:41
2006.09.24
Почему компилятор показывает Hint?


15-1157363915
umbra
2006-09-04 13:58
2006.09.24
Линукс. Как из tar-фрхива извлечь конкретный файл/каталог?