фотосайт
Пакетне перейменування файлів-фотографій
Submitted by Pavlo Zhezhnych on Tue, 05/02/2008 - 21:25Наявність великої кількості фотографій при публікації може вимагати перейменування відповідних файлів за заданим шаблоном.
Наприклад, при публікації знимок на Фотоблозі Львова назви файлів-фотографій приводяться до наступного формату:
{розташування}_{дата}{користувач}_{№фото}.jpg
Такий формат з високою ймовірністю забезпечує унікальність назв файлів, навіть якщо вони збираються в один каталог від декількох користувачів.
Для того, щоб пакетом привести назви багатьох файлів до зазначеного формату, необхідно:
1)Записати файли в папку з назвою
{дата}{користувач}
Деякі фотоапарати (наприклад, Canon) дозволяють розміщувати знимки по папках за датою автоматично.
2) Виконати наступну команду (файл !prep_files.bat треба розмістити на одному рівні з папкою з фотографіями:
!prep_files.bat {папка} {префікс}
де
{папка} - папка, у якій розміщені фали, які пакетом треба перейменувати.
{префікс} - місце розташування об'єктів, що сфотографовані
Ця команда переводить усі назви файлів у зазначений вище формат. Також після роботи створюється файл з назвою 1.txt, у якому видається список перейменованих файлів.
У процесі перейменування з назв файлів вилучаються префікси, що генерують фотоапарати перед цифрами (наприклад, у фотоапаратах Olympus - це буква 'P', у фотоапаратах Canon - стрічка 'Img_').
Текст !prep_files.bat
ren %1\*.jpg *.jjj
for /f "tokens=*" %%a in ('dir /b %1\*.jjj') do ren %1\%%a j%%a
for /f "tokens=1,2 delims=_AaPp" %%a in ('dir /b %1\*.jjj') do ren %1\%%a*%%b %2_%1_%%b
ren %1\*.jjj *.jpg
dir /b/o %1\*.jpg >%1\1.txt
Приклад
У папці з назвою '20070813a' є наступні файли:
Img_0003.jpg
Img_0004.jpg
Img_0005.jpg
Img_0006.jpg
Img_0007.jpg
Виконуємо команду:
!prep_files.bat 20070813a nrt
В результаті в папці '20070813a' маємо файли з такими назвами:
nrt_20070813a_0003.jpg
nrt_20070813a_0004.jpg
nrt_20070813a_0005.jpg
Recent comments
12 years 49 weeks ago
12 years 51 weeks ago
13 years 33 weeks ago
13 years 40 weeks ago
14 years 25 weeks ago
14 years 48 weeks ago
15 years 2 weeks ago
15 years 8 weeks ago
15 years 10 weeks ago
15 years 24 weeks ago