Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.045 c
3-1153319574
barakuda
2006-07-19 18:32
2006.09.24
как ускорить процедуру


1-1155188154
DelphiN!
2006-08-10 09:35
2006.09.24
AV при попытке поиска в строке


15-1157101383
Gorlum
2006-09-01 13:03
2006.09.24
Ну и нафига они это сделали


1-1155638942
ак
2006-08-15 14:49
2006.09.24
непонятная ошибочка


1-1155124874
TAS
2006-08-09 16:01
2006.09.24
Проблема с копированием файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский