123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- #!/bin/bash
- E='echo -e';e='echo -en';trap "R;exit" 2
- ESC=$( $e "\e")
- TPUT(){ $e "\e[${1};${2}H" ;}
- CLEAR(){ $e "\ec";}
- # 25 возможно это
- CIVIS(){ $e "\e[?25l";}
- # это цвет текста списка перед курсором при значении 0 в переменной UNMARK(){ $e "\e[0m";}
- MARK(){ $e "\e[1;90m";}
- # 0 это цвет заднего фона списка
- UNMARK(){ $e "\e[0m";}
- # ~~~~~~~~ Эти строки задают цвет фона ~~~~~~~~
- R(){ CLEAR ;stty sane;CLEAR;};
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- HEAD(){ for (( a=2; a<=40; a++ ))
- do
- TPUT $a 1
- $E "\033[34m\xE2\x94\x82 \xE2\x94\x82\033[0m";
- done
- TPUT 9 3
- $E "\033[1;36mProcessing control\033[0m \033[1;2mКонтроль обработки\033[0m";
- TPUT 34 3
- $E " \033[1;2mОстальные теги\033[0m";
- TPUT 39 4
- $E "\033[32mUp \xE2\x86\x91 \xE2\x86\x93 Down Select Enter\033[0m";
- MARK;TPUT 1 1
- $E "\033[0m\033[34m+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\033[0m" ;UNMARK;}
- i=0; CLEAR; CIVIS;NULL=/dev/null
- FOOT(){ MARK;TPUT 41 1
- $E "\033[0m\033[34m+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\033[0m";UNMARK;}
- # это управляет кнопками ввер/хвниз
- i=0; CLEAR; CIVIS;NULL=/dev/null
- #
- ARROW(){ IFS= read -s -n1 key 2>/dev/null >&2
- if [[ $key = $ESC ]];then
- read -s -n1 key 2>/dev/null >&2;
- if [[ $key = \[ ]]; then
- read -s -n1 key 2>/dev/null >&2;
- if [[ $key = A ]]; then echo up;fi
- if [[ $key = B ]];then echo dn;fi
- fi
- fi
- if [[ "$key" == "$($e \\x0A)" ]];then echo enter;fi;}
- M0(){ TPUT 2 3; $e "Печатать подробные сообщения \033[32m -v[NUM] (-verbose) \033[0m";}
- M1(){ TPUT 3 3; $e "Записывать вывод консоли в файлы с именами, оканчивающимися на EXT \033[32m -w[+|!] EXT or FMT (-textOut) \033[0m";}
- M2(){ TPUT 4 3; $e "Примечания: \033[32m Notes: \033[0m";}
- M3(){ TPUT 5 3; $e "Расширенные возможности: \033[32m Advanced features: \033[0m";}
- M4(){ TPUT 6 3; $e "Эта версия опции -w позволяет создавать отдельный выходной файл \033[32m -W[+|!] FMT (-tagOut) \033[0m";}
- M5(){ TPUT 7 3; $e "Указывает тип выходных файлов, записываемых с помощью опции -W \033[32m -Wext EXT, --Wext EXT (-tagOutExt) \033[0m";}
- M6(){ TPUT 8 3; $e "Cпецифичное ExifTool форматирование RDF/XML для вывода на консоль \033[32m -X (-xmlFormat) \033[0m";}
- #
- M7(){ TPUT 10 3; $e "Разрешить (-a), запретить (--a) извлекать повторяющиеся имена тегов \033[32m -a, --a (-duplicates, --duplicates)\033[0m";}
- M8(){ TPUT 11 3; $e "Извлекать только существующие теги - не создавать составные теги \033[32m -e (--composite) \033[0m";}
- M9(){ TPUT 12 3; $e "Извлечение информации из встроенных документов в файлы EPS \033[32m -ee (-extractEmbedded) \033[0m";}
- M10(){ TPUT 13 3; $e "Обрабатывать только файлы с -ext или без -ext указанного расширения \033[32m -ext[+] EXT, --ext EXT (-extension)\033[0m";}
- M11(){ TPUT 14 3; $e "Закрепите основание для смещения заметок производителя \033[32m -F[OFFSET] (-fixBase) \033[0m";}
- M12(){ TPUT 15 3; $e "Увеличьте скорость извлечения информации \033[32m -fast[NUM] \033[0m";}
- M13(){ TPUT 16 3; $e "Порядок обработки файлов соответственно отсортированным значением указанного ТЕГА\033[32m -fileOrder[NUM] [-]TAG \033[0m";}
- M14(){ TPUT 17 3; $e "Игнорировать указанное имя каталога \033[32m -i DIR (-ignore) \033[0m";}
- M15(){ TPUT 18 3; $e "Задайте условие, которое будет оцениваться перед обработкой каждого ФАЙЛА \033[32m -if[NUM] EXPR \033[0m";}
- M16(){ TPUT 19 3; $e "Notes: \033[32m Notes: \033[0m";}
- M17(){ TPUT 20 3; $e "Игнорируйте мелкие ошибки и предупреждения \033[32m -m (-ignoreMinorErrors) \033[0m";}
- M18(){ TPUT 21 3; $e "Задайте имя выходного файла или каталога при записи информации \033[32m -o OUTFILE or FMT (-out) \033[0m";}
- M19(){ TPUT 22 3; $e "Перезаписывайте исходный ФАЙЛ \033[32m -overwrite_original \033[0m";}
- M20(){ TPUT 23 3; $e "Аналогично -overwrite_original, но позволяюет сохранить исходные атрибуты файла \033[32m -overwrite_original_in_place \033[0m";}
- M21(){ TPUT 24 3; $e "Сохранять дату / время изменения файловой системы FileModifyDate исходного файла \033[32m -P (-preserve) \033[0m";}
- M22(){ TPUT 25 3; $e "Укажите пароль, чтобы разрешить обработку защищенных паролем PDF-документов \033[32m -password PASSWD \033[0m";}
- M23(){ TPUT 26 3; $e "Показывать прогресс при обработке файлов \033[32m -progress[:[TITLE]] \033[0m";}
- M24(){ TPUT 27 3; $e "Тихая обработка \033[32m -q (-quiet) \033[0m";}
- M25(){ TPUT 28 3; $e "Рекурсивно обрабатывать файлы в подкаталогах \033[32m -r[.] (-recurse) \033[0m";}
- M26(){ TPUT 29 3; $e "Просканируйте все файлы (даже неподдерживаемые форматы) на предмет информации XMP\033[32m -scanForXMP \033[0m";}
- M27(){ TPUT 30 3; $e "Извлечь значения неизвестных тегов \033[32m -u (-unknown) \033[0m";}
- M28(){ TPUT 31 3; $e "Извлекать значения неизвестных тегов, а также информацию из двоичных данных \033[32m -U (-unknown2) \033[0m";}
- M29(){ TPUT 32 3; $e "Установите режим для написания / создания тегов \033[32m -wm MODE (-writeMode) \033[0m";}
- M30(){ TPUT 33 3; $e "При чтении приводит к извлечению информации из сжатых изображений .gz и .bz2 \033[32m -z (-zip) \033[0m";}
- #
- M31(){ TPUT 35 3; $e "Изменить тег artist для всех файлов в директории назначения \033[33m -artist \033[0m";}
- M32(){ TPUT 36 3; $e "Копирайтинг \033[33m -copyright \033[0m";}
- M33(){ TPUT 37 3; $e "Заглавие \033[33m -Title \033[0m";}
- M34(){ TPUT 38 3; $e "Автор \033[33m -Author \033[0m";}
- #
- M35(){ TPUT 40 3; $e "Выход \033[32m EXIT \033[0m";}
- LM=35
- MENU(){ for each in $(seq 0 $LM);do M${each};done;}
- POS(){ if [[ $cur == up ]];then ((i--));fi
- if [[ $cur == dn ]];then ((i++));fi
- if [[ $i -lt 0 ]];then i=$LM;fi
- if [[ $i -gt $LM ]];then i=0;fi;}
- REFRESH(){ after=$((i+1)); before=$((i-1))
- if [[ $before -lt 0 ]];then before=$LM;fi
- if [[ $after -gt $LM ]];then after=0;fi
- if [[ $j -lt $i ]];then UNMARK;M$before;else UNMARK;M$after;fi
- if [[ $after -eq 0 ]] || [ $before -eq $LM ];then
- UNMARK; M$before; M$after;fi;j=$i;UNMARK;M$before;M$after;}
- INIT(){ R;HEAD;FOOT;MENU;}
- SC(){ REFRESH;MARK;$S;$b;cur=`ARROW`;}
- # Функция возвращения в меню
- ES(){ MARK;$e " ENTER = main menu ";$b;read;INIT;};INIT
- while [[ "$O" != " " ]]; do case $i in
- 0) S=M0;SC;if [[ $cur == enter ]];then R;echo " Печатать подробные сообщения. ЧИСЛО указывает уровень детализации в диапазоне от 0 до 5, при этом более высокие числа более подробны. Если ЧИСЛО не указано, то
- каждая опция -v увеличивает уровень детализации на 1. При любом уровне больше 0 большинство других параметров игнорируются, и стандартный вывод консоли подавляется,
- если не извлечены определенные теги. Использование -v0 приводит к тому, что буфер вывода консоли очищается после каждой строки (что может быть полезно, чтобы избежать
- задерживает при передаче вывода exiftool по конвейеру) и печатает имя каждого обработанного файла при записи. Также смотрите опцию -progress.";ES;fi;;
- 1) S=M1;SC;if [[ $cur == enter ]];then R;echo "
- Записывать вывод консоли в файлы с именами, оканчивающимися на EXT, по одному для каждого исходного файла. Имя выходного файла получается путем замены исходного
- файла расширение (включая '.') с указанным расширением (и '.' добавляется в начало EXT, если оно еще не содержит его). В качестве альтернативы, строка FMT может
- использоваться для большего контроля над именем выходного файла и каталогом. В строке формата% d,% f и% e представляют каталог, имя файла и расширение исходного
- файла, а% c представляет собой номер копии, который автоматически увеличивается, если файл уже существует. % d включает завершающий '/' при необходимости, но% e не
- включает начальный '.'. Например:
- -w %d%f.txt # тот же эффект, что и \"-w txt\"
- -w dir/%f_%e.out # записывать файлы в «каталог» как «FILE_EXT.out»
- -w dir2/%d%f.txt # написать в \"dir2\", сохранив структуру dir
- -w a%c.txt # напишите в \"a.txt\", \"a1.txt\" или \"a2.txt\" ...
- Существующие файлы не будут изменены, если к имени параметра не будет добавлен восклицательный знак (например, -w! Или -textOut!), Чтобы перезаписать файл, или
- плюс знак (например, -w + или -textOut +) для добавления к существующему файлу. Оба могут использоваться (например, -w +! Или -textOut +!) Для перезаписи файлов
- вывода, которые не существовали перед запуском команды и добавьте вывод из нескольких исходных файлов. Например, чтобы записать один выходной файл для всех исходных
- файлов в каждом каталог: exiftool -filename -createdate -T -w+! %d/out.txt -r DIR
- Коды формата с заглавной буквы% D,% F,% E и %C предоставляют несколько иные альтернативы версиям с нижним регистром. % D не включает завершающий '/', % F - это
- полное имя файла, включая расширение,% E включает начало \".\", А% C увеличивает счетчик для каждого обработанного файла (см. Ниже).
- ";ES;fi;;
- 2) S=M2;SC;if [[ $cur == enter ]];then R;echo "
- 1) В BAT-файле Windows символ «%» представлен как «%%», поэтому аргумент типа «% d% f.txt» записывается как «%% d %% f.txt».
- 2) Если аргумент для -w не содержит допустимого кода формата (например,% f), то он интерпретируется как расширение файла. Невозможно указать простое имя файла в
- качестве аргумента - создание одного выходного файла из нескольких исходных файлов обычно выполняется путем перенаправления оболочки, т.е.)
- exiftool FILE1 FILE2 ... > out.txt
- Но при необходимости можно использовать пустой код формата, чтобы аргумент интерпретировался как строка формата, и можно было получить тот же результат без
- использования перенаправления оболочки:
- exiftool -w+! %0fout.txt FILE1 FILE2 ...
- ";ES;fi;;
- 3) S=M3;SC;if [[ $cur == enter ]];then R;echo "
- Подстроку исходного имени файла, каталога или расширения можно взять, указав ширину поля сразу после символа «%». Если ширина отрицательная, подстрока берется с
- конца. Позиция подстроки (символы, которые следует игнорировать в начале или конце строки) может быть задается вторым необязательным значением после десятичной
- точки. Например:
- Input File Name Format Specifier Output File Name
- ---------------- ---------------- ----------------
- Picture-123.jpg %7f.txt Picture.txt
- Picture-123.jpg %-.4f.out Picture.out
- Picture-123.jpg %7f.%-3f Picture.123
- Picture-123a.jpg Meta%-3.1f.txt Meta123.txt
- (Обратите внимание, что специальные символы могут иметь ширину больше единицы.) Для% d и% D спецификаторы ширины / позиции поля могут применяться к уровням
- каталогов вместо позиции подстроки, используя двоеточие вместо десятичная точка в описателе формата. Например:
- Source Dir Format Result Notes
- ------------ ------ ---------- ------------------
- pics/2012/02 %2:d pics/2012/ take top 2 levels
- pics/2012/02 %-:1d pics/2012/ up one directory level
- pics/2012/02 %:1d 2012/02/ ignore top level
- pics/2012/02 %1:1d 2012/ take 1 level after top
- pics/2012/02 %-1:D 02 bottom level folder name
- /Users/phil %:2d phil/ ignore top 2 levels
- (Обратите внимание, что корневой каталог считается одним уровнем, если используется абсолютный путь, как в последнем примере выше.) Для % c эти модификаторы имеют
- разные эффекты. Если задана ширина поля, номер копии дополняется нулями до указанной ширины. Ведущий '-' добавляет тире перед номером копии, а '+' добавляет
- подчеркивание. По умолчанию номер копии опускается в первом файле с заданным именем, но это можно изменить, добавив к модификатору десятичную точку. Например:
- -w A%-cZ.txt # AZ.txt, A-1Z.txt, A-2Z.txt ...
- -w B%5c.txt # B.txt, B00001.txt, B00002.txt ...
- -w C%.c.txt # C0.txt, C1.txt, C2.txt ...
- -w D%-.c.txt # D-0.txt, D-1.txt, D-2.txt ...
- -w E%-.4c.txt # E-0000.txt, E-0001.txt, E-0002.txt ...
- -w F%-.4nc.txt # F-0001.txt, F-0002.txt, F-0003.txt ...
- -w G%+c.txt # G.txt, G_1.txt G_2.txt ...
- -w H%-lc.txt # H.txt, H-b.txt, H-c.txt ...
- -w I.%.3uc.txt # I.AAA.txt, I.AAB.txt, I.AAC.txt ...
- Специальная функция позволяет увеличивать количество копий для каждого обработанного файла, используя% C (верхний регистр) вместо% c. Это позволяет последовательно
- число, которое будет добавлено к именам выходных файлов, даже если имена разные. Для % C нулевой номер копии не опускается, как для % c. Ведущий «-» приводит к
- сбросу номера в начале каждого нового каталога, а «+» не имеет никакого эффекта. Число перед десятичным знаком дает начальную index, число после десятичного знака
- дает ширину поля. В следующих примерах показаны имена выходных файлов при использовании с командой \"exiftool rose.jpg star.jpg jet.jpg ...\":
- -w %C%f.txt # 0rose.txt, 1star.txt, 2jet.txt
- -w %f-%10C.txt # rose-10.txt, star-11.txt, jet-12.txt
- -w %.3C-%f.txt # 000-rose.txt, 001-star.txt, 002-jet.txt
- -w %57.4C%f.txt # 0057rose.txt, 0058star.txt, 0059jet.txt
- Все коды формата могут быть изменены с помощью 'l' или 'u', чтобы указать нижний или верхний регистр соответственно (например,% le для расширения файла в нижнем
- регистре). Когда привык измените % c или % C, числа будут заменены на алфавитное основание (см. пример H выше). Кроме того, % c и %C могут быть изменены на 'n' для
- подсчета с использованием естественного числа, начинающиеся с 1, вместо 0 (см. пример F выше).
- Тот же самый синтаксис FMT используется с параметрами -o и -tagsFromFile, хотя% c и% C действительны только для имен выходных файлов.
- ";ES;fi;;
- 4) S=M4;SC;if [[ $cur == enter ]];then R;echo "
- Эта расширенная версия опции -w позволяет создавать отдельный выходной файл для каждого извлеченного тега. См. Документацию по параметру -w выше для подробности
- базового функционала. Здесь перечислены различия между -W и -w:
- 1) При использовании -W для каждого извлеченного тега создается новый выходной файл.
- 2) -W поддерживает три дополнительных кода формата:% t,% g и% s представляют имя тега, имя группы и предлагаемое расширение для выходного файла (на основе формат
- данных). За кодом% g может следовать одна цифра, чтобы указать номер семейства группы (например,% g1), в противном случае предполагается семейство 0. Спецификаторы
- ширины / позиции / регистра подстроки могут использоваться с этими кодами формата точно так же, как с% f и% e.
- 3) Аргумент для -W интерпретируется как имя файла, если он не содержит кодов формата. (Для -w это будет расширение файла.) Это изменение позволяет необходимо
- указать простое имя файла, которое в сочетании с функцией добавления обеспечивает метод записи метаданных из нескольких исходных файлов в один выходной файл без
- необходимости перенаправления оболочки. Например, следующие пары команд дают одинаковый результат:
- # перезапись существующего текстового файла
- exiftool test.jpg> out.txt # перенаправление оболочки
- exiftool test.jpg -W +! out.txt # эквивалент -W параметр
- # добавить в существующий текстовый файл
- exiftool test.jpg >> out.txt # перенаправление оболочки
- exiftool test.jpg -W + out.txt # эквивалент -W параметр
- 4) Добавление опции -v к -W отправляет список тегов и имена выходных файлов на консоль вместо того, чтобы давать подробный дамп всего файла. (За исключением
- добавления всего вывода в один файл для каждого исходного файла с помощью -W + с выходным файлом FMT, который не содержит% t, \$ g или% s.)
- 5) Отдельные элементы списка сохраняются в отдельных файлах, когда -W комбинируется с -b, но учтите, что для создания отдельных файлов необходимо использовать % c
- или % C используется в FMT для присвоения файлам уникальных имен.
- ";ES;fi;;
- 5) S=M5;SC;if [[ $cur == enter ]];then R;echo " Эта опция используется для указания типа выходных файлов, записываемых с помощью опции -W. Выходной файл записывается только в том случае, если предложенное
- расширение соответствует EXT. Для записи файлов более одного типа можно использовать несколько параметров -Wext. Используйте --Wext, чтобы записать все, кроме
- указанного типа(ов).";ES;fi;;
- 6) S=M6;SC;if [[ $cur == enter ]];then R;echo " Используйте специфичное для ExifTool форматирование RDF / XML для вывода на консоль. Подразумевается опция -a, поэтому дублирующиеся теги извлекаются. Параметры
- форматирования -b, -D, -H, -l, -s, -sep, -struct и -t могут использоваться в сочетании с -X, чтобы повлиять на вывод, но обратите внимание, что идентификатор тега
- (-D, -H и -t), двоичные данные ( -b) и параметры структурированного вывода (-struct) не эффективны для краткого вывода (-ов). Еще одно ограничение -s состоит в том,
- что только один тег с заданной группой и имя может появиться на выходе. Обратите внимание, что параметры идентификатора тега (-D, -H и -t) будут создавать
- нестандартный RDF / XML, если также не используется параметр -l.
- По умолчанию -X выводит плоские теги, поэтому при необходимости следует добавить -struct для сохранения структур XMP. Теги типа списка с несколькими значениями:
- отформатированы как пакет RDF, но при использовании -s или -sep они объединяются в одну строку. Использование -L изменяет кодировку XML с UTF-8 на windows-1252.
- Другие параметры -charset изменяют кодировку только при наличии соответствующего стандартного набора символов XML. Параметр -b вызывает двоичный записываемые
- значения данных, при необходимости закодированные в base64. Параметр -t добавляет к выходным данным информацию таблицы тегов (подробности см. В -t).Примечание. Этот
- вывод НЕ совпадает с XMP, потому что он использует динамически сгенерированные имена свойств, соответствующие именам тегов ExifTool, а не стандартные свойства XMP.
- Чтобы вместо этого написать XMP, используйте параметр -o с расширением XMP для выходного файла.";ES;fi;;
- 7) S=M7;SC;if [[ $cur == enter ]];then R;echo " Разрешить (-a) или запретить (--a) извлекать повторяющиеся имена тегов. По умолчанию повторяющиеся теги подавляются при чтении, если не указаны параметры -ee или
- -X используются или в конфигурационном файле включена опция Дубликаты. Эта опция влияет на запись только для разрешения дублирования предупреждений сообщения,
- которые будут отображаться. При копировании всегда извлекаются повторяющиеся теги.";ES;fi;;
- 8) S=M8;SC;if [[ $cur == enter ]];then R;echo " Извлекать только существующие теги - не создавать составные теги.";ES;fi;;
- 9) S=M9;SC;if [[ $cur == enter ]];then R;echo " Извлечение информации из встроенных документов в файлы EPS, встроенной информации EPS и изображений JPEG и Jpeg2000 в файлах PDF, встроенных изображений MPF в
- Файлы JPEG и MPO, потоковые метаданные в видео AVCHD и ветвь ресурсов файлов Mac OS. Подразумевается опция -a. Используйте -g3 или -G3, чтобы определить исходный
- документ для извлеченной информации. Встроенные документы, содержащие вложенные документы, обозначаются тире в названии группы семейства 3. (например, «Doc2-3» -
- это 3-й вложенный документ 2-го встроенного документа.) Обратите внимание, что этот параметр может значительно увеличить время обработки, особенно для PDF-файлы со
- множеством встроенных изображений или видео с потоковыми метаданными.
- При использовании с -ee параметр -p оценивается для каждого встроенного документа, как если бы это был отдельный входной файл. Это позволяет, например,
- генерировать журналов GPS-треков из метаданных в видеороликах. См. Примеры на: https://exiftool.org/geotag.html#Inverse";ES;fi;;
- 10) S=M10;SC;if [[ $cur == enter ]];then R;echo "
- Обрабатывать только файлы с (-ext) или без (-ext) указанного расширения. Может быть несколько параметров -ext и --ext. Может быть добавлен знак плюса (т. Е. -ext
- +), чтобы добавить указанное расширение к обычно обрабатываемым файлам. EXT может начинаться с символа \".\", Который игнорируется. Дело не имеет значения «*» можно
- использовать для обработки файлов с любым расширением (или вообще без него), как в последних трех примерах:
- exiftool -ext JPG DIR # обрабатывать только файлы JPG
- exiftool --ext cr2 --ext dng DIR # поддерживаемые файлы, но CR2 / DNG
- exiftool -ext + txt DIR # поддерживаемые файлы плюс TXT
- exiftool -ext * DIR # обработать все файлы
- exiftool -ext * --ext xml DIR # обрабатывать все файлы, кроме XML
- exiftool -ext * --ext DIR # все, кроме тех, у кого нет ext
- Использование этого параметра имеет два основных преимущества по сравнению с указанием * .EXT в командной строке:
- 1) Он применяется к файлам в подкаталогах в сочетании с параметр -r.
- 2) Параметр -ext нечувствителен к регистру, что полезно при обработке файлов в файловых системах, чувствительных к регистру.
- Обратите внимание, что все файлы, указанные в командной строке, будут обрабатываться независимо от расширения, если не используется параметр -ext.
- ";ES;fi;;
- 11) S=M11;SC;if [[ $cur == enter ]];then R;echo " Закрепите основание для смещения заметок производителя. Распространенная проблема с некоторыми редакторами изображений заключается в том, что смещения в
- примечаниях производителя не регулируются должным образом, когда файл изменен. Это может привести к извлечению неправильных значений для некоторых записей создателя
- при чтении отредактированного файла. Эта опция позволяет число OFFSET, которое необходимо указать для настройки базового смещения нот производителя. Если OFFSET не
- задан, ExifTool делает наилучшее предположение о правильной базе. Обратите внимание, что exiftool автоматически исправит смещения для изображений, в которых
- хранится исходная информация о смещении (например, более новые модели Canon). Смещения фиксированы навсегда, если при записи EXIF в изображение используется -F
- например)";ES;fi;;
- 12) S=M12;SC;if [[ $cur == enter ]];then R;echo " Увеличьте скорость извлечения информации. С -fast (или -fast1) ExifTool не будет сканировать до конца изображения JPEG, чтобы проверить AFCP или PreviewImage
- трейлер, или вставьте первый комментарий в изображениях GIF или аудио / видео данные в файлах WAV / AVI для поиска дополнительных метаданных. Эти скорости
- Преимущества невелики при чтении изображений непосредственно с диска, но могут быть существенными при передаче изображений по конвейеру через сетевое соединение.
- Для более существенных увеличивает скорость, -fast2 также заставляет exiftool избегать извлечения любой информации EXIF MakerNote. -fast3 позволяет избежать
- извлечения метаданных из файла и возвращает только псевдосистемные теги, но по-прежнему читает заголовок файла, чтобы получить обоснованное предположение о FileType.
- -fast4 даже не читает заголовок файла, и возвращает только системные теги и FileType в зависимости от расширения файла. Не действует при записи. Обратите внимание,
- что отдельный параметр -fast может использоваться для оценки условия -if или при упорядочивании файлов с параметром -fileOrder. См. -If и -fileOrder параметры для
- подробностей.";ES;fi;;
- 13) S=M13;SC;if [[ $cur == enter ]];then R;echo "
- Установите порядок обработки файлов в соответствии с отсортированным значением указанного ТЕГА. Например, для обработки файлов по дате:
- exiftool -fileOrder DateTimeOriginal DIR
- Дополнительные параметры -fileOrder могут быть добавлены для вторичных ключей сортировки. Числа отсортированы численно, а все остальные значения отсортированы по
- алфавиту Файлы, в которых отсутствует указанный тег, сортируются последними. Порядок сортировки можно изменить на обратный, поставив перед именем тега знак «-»
- (например, «-fileOrder -createdate»).
- Преобразование печати отсортированных значений отключается с помощью опции -n или #, добавленного к имени тега. Другие параметры форматирования (например, -d) не
- имеют влияние на отсортированные значения. Обратите внимание, что параметр -fileOrder может иметь большое влияние на производительность, поскольку он включает
- дополнительный проход обработки каждый файл, но это влияние можно уменьшить, указав NUM для уровня -fast, используемого на этапе извлечения метаданных. Например,
- -fileOrder4 может использоваться, если TAG является псевдосистемным тегом. Если используется несколько параметров -fileOrder, извлечение выполняется на самом низком
- уровне -fast.
- ";ES;fi;;
- 14) S=M14;SC;if [[ $cur == enter ]];then R;echo " Игнорировать указанное имя каталога. DIR может быть либо именем отдельной папки, либо полным путем. Если указан полный путь, он должен соответствовать Тег
- каталога точно следует игнорировать. Используйте несколько параметров -i, чтобы игнорировать более одного имени каталога. Специальное значение DIR для \"SYMLINKS\"
- (регистр чувствительный) можно указать, чтобы игнорировать символические ссылки, когда используется опция -r.";ES;fi;;
- 15) S=M15;SC;if [[ $cur == enter ]];then R;echo "
- Задайте условие, которое будет оцениваться перед обработкой каждого ФАЙЛА. EXPR - это логическое выражение, подобное Perl, содержащее имена тегов с префиксом \$
- Он оценивается с помощью тегов из каждого ФАЙЛА по очереди, и файл обрабатывается только в том случае, если выражение возвращает истину. В отличие от имен
- переменных Perl, tag имена не чувствительны к регистру и могут содержать дефис. Кроме того, имена тегов могут иметь начальные имена групп, разделенные двоеточиями,
- и / или завершающий знак # символ, чтобы отключить преобразование печати. Выражение \$ GROUP: all оценивается как 1, если какой-либо тег существует в указанной
- \GROUP\, или 0 в противном случае (см. Примечание 2 ниже). При использовании нескольких опций -if для обработки файла должны быть выполнены все условия. Возвращает
- статус выхода 2, если все файлы терпят неудачу условие. Ниже приведены несколько примеров:
- # извлечь выдержку из всех изображений Canon в каталоге: exiftool -shutterspeed -if '\$ make eq \"Canon\"' dir
- # добавить один час ко всем изображениям, созданным 2 апреля 2006 г. или позже: exiftool -alldates + = 1 -if '\$ CreateDate ge \"2006: 04: 02\"' dir
- # установить значение EXIF ISO, если возможно, если оно еще не установлено: exiftool '-exif: iso <iso' -if 'not \$ exif: iso' dir
- # найти изображения, содержащие определенное ключевое слово (без учета регистра): exiftool -if '\$ keywords = ~ /harvey/ i' -filename dir
- Добавление NUM к параметру -if вызывает выполнение отдельного прохода обработки для оценки EXPR на уровне -fast, заданном параметром NUM (см. Параметр -fast
- документацию для деталей). Без NUM выполняется только один проход обработки на уровне, заданном параметром -fast. Например, использование -if4 - это возможно, если
- EXPR использует только псевдосистемные теги, и может значительно ускорить обработку, если достаточное количество файлов не удовлетворяет условию. Выражение имеет
- доступ к текущему объекту ExifTool через \$ self, и доступны следующие специальные функции, позволяющие короткое замыкание обработка файлов. Обе функции имеют
- возвращаемое значение 1. Регистр имеет значение для имен функций.
- End () - завершить обработку после этого файла
- EndDir () - завершить обработку файлов в этом каталоге
- ";ES;fi;;
- 16) S=M16;SC;if [[ $cur == enter ]];then R;echo "
- 1) Параметры -n и -b также применяются к тегам, используемым в EXPR.
- 2) Некоторые блоки двоичных данных не извлекаются, если явно не указано иное. Эти теги недоступны для использования в условии -if, если они не также указывается
- в командной строке. Альтернативой является использование синтаксиса \$ GROUP: all. (например. Используйте \$ exif: all вместо \$ exif в EXPR, чтобы проверить
- наличие EXIF-тегов.)
- 3) Теги в строке интерполируются так же, как с -p перед вычислением выражения. В этой интерполяции \$ / преобразуется в новая строка и \$\$ представляют собой
- один символ «\$» (поэтому переменные Perl, если они используются, требуют двойного символа «\$»).
- 4) Условие может проверять только теги из обрабатываемого файла. Чтобы обработать один файл на основе тегов из другого, необходимо выполнить два шага. За
- Например, для обработки сопроводительных файлов XMP в каталоге DIR на основе тегов из связанного NEF:
- exiftool -if EXPR -p '$ каталог / $ имя_файла' -ext nef DIR> nef.txt
- exiftool - @ nef.txt -srcfile% d% f.xmp ...
- 5) Параметр -a не влияет на оценку выражения, а значения повторяющихся тегов доступны только при указании имени группы. (например, номер экземпляра семейства 4,
- например, \$ Copy1: TAG, \$ Copy2: TAG и т. д.).
- 6) Доступен специальный UserParam «OK» для проверки успешности предыдущей команды при использовании -execute, и его можно использовать как любой другой тег в
- состояние (например, «$ OK»).
- ";ES;fi;;
- 17) S=M17;SC;if [[ $cur == enter ]];then R;echo " Игнорируйте мелкие ошибки и предупреждения. Это позволяет записывать в файлы с незначительными ошибками и отключает некоторые проверки, которые могут привести к
- незначительным ошибкам предупреждения. Как правило, незначительные ошибки / предупреждения указывают на проблему, игнорирование которой обычно не приводит к потере
- метаданных. Однако есть исключения, поэтому ExifTool оставляет за вами принятие окончательного решения. Незначительные ошибки и предупреждения обозначаются
- [Minor] в начале сообщение. Предупреждения, которые при игнорировании влияют на обработку, обозначаются [Minor] (с большой буквы «M»). Обратите внимание, что это
- приводит к отсутствию значений в Строки -tagsFromFile, -p и -if должны быть установлены на пустую строку, а не на неопределенное значение.";ES;fi;;
- 18) S=M18;SC;if [[ $cur == enter ]];then R;echo " Задайте имя выходного файла или каталога при записи информации. Без этой опции при записи любых настоящих тегов исходный файл переименовывается в \"FILE_original\"
- и вывод записывается в ФАЙЛ. При записи только «псевдо» тегов FileName и / или Directory, -o вызывает копирование файла вместо перемещен, но каталоги, указанные для
- любого из этих тегов, имеют приоритет над каталогом, указанным параметром -o.
- OUTFILE может быть «-» для записи в стандартный вывод. Имя выходного файла также может быть указано с помощью строки FMT, в которой% d,% f и% e представляют
- каталог, имя файла и расширение FILE. Также % c можно использовать для добавления номера копии. См. Параметр -w для примеров строк FMT.
- Выходной файл считается именем каталога, если он уже существует как каталог или если имя заканчивается на '/'. Каталоги вывода создаются, если необходимый.
- Существующие файлы не будут перезаписаны. Комбинация опции -overwrite_original с -o приводит к стиранию исходного исходного файла после того, как выходной файл будет
- успешно записан. Особенность этой опции позволяет создавать определенные типы файлов с нуля или с метаданными из другого типа файла. В Следующие типы файлов могут
- быть созданы с использованием этой техники: XMP, EXIF, EXV, MIE, ICC / ICM, VRD, DR4
- Тип выходного файла определяется расширением OUTFILE (указывается как «-.EXT» при записи в стандартный вывод). Затем выходной файл создается из комбинация
- информации в ФАЙЛЕ (как если бы использовалась опция -tagsFromFile) и значений тегов, назначенных в командной строке. Если ФАЙЛ не указан, выходной файл может быть
- создан с нуля, используя только теги, назначенные в командной строке.";ES;fi;;
- 19) S=M19;SC;if [[ $cur == enter ]];then R;echo " Перезаписывайте исходный ФАЙЛ (вместо того, чтобы сохранять его, добавляя «_original» к имени файла) при записи информации в изображение. Осторожно: это Опцию
- следует использовать только в том случае, если у вас уже есть отдельные резервные копии файлов изображений. Перезапись осуществляется путем переименования временного
- файла заменить оригинал. Это удалит исходный файл и заменит его отредактированной версией за одну операцию. В сочетании с -o это опция вызывает удаление исходного
- файла, если выходной файл был успешно записан (т. е. файл перемещается, а не копируется).";ES;fi;;
- 20) S=M20;SC;if [[ $cur == enter ]];then R;echo " Аналогично -overwrite_original, за исключением того, что добавлен дополнительный шаг, позволяющий сохранить исходные атрибуты файла. Например, на Mac это приводит
- к тому, что исходная дата создания файла, тип, создатель, цвет метки, значок, теги Finder, другие расширенные атрибуты и жесткие ссылки на файл становятся
- сохраняется (но обратите внимание, что ветвь ресурсов Mac OS всегда сохраняется, если специально не удалена с помощью -rsrc: all = Это реализуется открытием
- исходный файл в режиме обновления и замена его данных копией временного файла перед удалением временного. Дополнительный шаг приводит к медленная производительность,
- поэтому вместо этого следует использовать параметр -overwrite_original Обратите внимание, что эта опция возвращается к поведению опции -overwrite_original, когда
- также записываются теги FileName и / или Directory.";ES;fi;;
- 21) S=M21;SC;if [[ $cur == enter ]];then R;echo " Сохранять дату / время изменения файловой системы (FileModifyDate) исходного файла при записи. Обратите внимание, что некоторые файловые системы хранят дату
- создания (например, FileCreateDate в системах Windows и Mac), на который этот параметр не влияет. Эта дата создания сохраняется в системах Windows, где
- Win32API :: File и Win32 :: API доступны независимо от этого параметра. Для других систем можно использовать параметр -overwrite_original_in_place, если необходимо
- для сохранения даты создания. Параметр -P заменяется любым значением, записанным в тег FileModifyDate.";ES;fi;;
- 22) S=M22;SC;if [[ $cur == enter ]];then R;echo " Укажите пароль, чтобы разрешить обработку защищенных паролем PDF-документов. Если пароль требуется, но не указан, выдается предупреждение и документ не
- обрабатывается. Эта опция игнорируется, если пароль не требуется.";ES;fi;;
- 23) S=M23;SC;if [[ $cur == enter ]];then R;echo " Показывать прогресс при обработке файлов. Без двоеточия опция -progress добавляет счетчик прогресса в скобках после имени каждого обработанного file, с указанием
- текущего номера файла и общего количества файлов для обработки. Подразумевает параметр -v0, в результате чего имена обрабатываемых файлов изменяются также печататься
- при письме. В сочетании с параметром -if общее количество включает все файлы до применения условия, но файлы, которые Если условие не выполнено, их имена не будут
- напечатаны. Если за ним следует двоеточие (например, -progress :), заголовок окна консоли устанавливается в соответствии с указанной строкой TITLE. Если TITLE не
- указан, по умолчанию Предполагается, что TITLE содержит строку «ExifTool% p %%». В строке% f представляет имя файла,% p - прогресс в процентах,% r - прогресс в виде
- ratio,% ## b - это индикатор выполнения шириной ## (20 символов, если ## опущено), а %% - это символ%. Можно комбинировать с обычным -progress возможность также
- отображать счетчик прогресса в сообщениях консоли. (Примечание: для правильной работы этой функции на Mac / Linux, stderr должен перейти в консоль.)";ES;fi;;
- 24) S=M24;SC;if [[ $cur == enter ]];then R;echo " Тихая обработка. Один -q подавляет нормальные информационные сообщения, а второй -q также подавляет предупреждения. Сообщения об ошибках не могут быть подавлено,
- хотя незначительные ошибки могут быть понижены до предупреждений с помощью опции -m, которая затем может быть подавлена с помощью «-q -q».";ES;fi;;
- 25) S=M25;SC;if [[ $cur == enter ]];then R;echo " Рекурсивно обрабатывать файлы в подкаталогах. Имеет смысл, только если ФАЙЛ - это имя каталога. Подкаталоги с именами, начинающимися с \".\" не обрабатывается,
- если только \".\" добавляется к имени параметра (например, -r. или -recurse.). По умолчанию exiftool также будет следовать символическим ссылкам на каталоги, если
- поддерживается системой, но это можно отключить с помощью \"-i SYMLINKS\" (подробности см. в параметре -i). Объедините это с параметрами -ext, чтобы управлять типы
- обрабатываемых файлов.";ES;fi;;
- 26) S=M26;SC;if [[ $cur == enter ]];then R;echo " Просканируйте все файлы (даже неподдерживаемые форматы) на предмет информации XMP, если они еще не найдены. В сочетании с параметром -fast только неподдерживаемые
- типы файлов сканируются. Предупреждение: сканирование больших файлов может занять много времени.";ES;fi;;
- 27) S=M27;SC;if [[ $cur == enter ]];then R;echo " Извлечь значения неизвестных тегов. Добавьте еще один -u, чтобы также извлечь неизвестную информацию из блоков двоичных данных. Этот параметр применяется к тегам с
- числовые идентификаторы тегов и вызывают генерацию имен тегов, таких как \"Exif_0xc5d9\", для неизвестной информации. Это не влияет на типы информации, которые имеют
- удобочитаемые идентификаторы тегов (например, XMP), поскольку неизвестные теги автоматически извлекаются из этих форматов.";ES;fi;;
- 28) S=M28;SC;if [[ $cur == enter ]];then R;echo " Извлекать значения неизвестных тегов, а также неизвестную информацию из некоторых блоков двоичных данных. Это то же самое, что и два параметра -u.";ES;fi;;
- 29) S=M29;SC;if [[ $cur == enter ]];then R;echo " Установите режим для написания / создания тегов. MODE - это строка из одного или нескольких символов из списка ниже. Режим записи по умолчанию - «wcg».
- w - записать существующие теги
- c - Создать новые теги
- g - при необходимости создавать новые группы
- Например, используйте «-wm cg» только для создания новых тегов (и избегайте редактирования существующих). Уровень группы - это уровень подкаталога в структуре
- метаданных. Для XMP или IPTC это полный блок XMP / IPTC (группа семейства 0), но для EXIF это индивидуальный IFD (группа семейства 1).";ES;fi;;
- 30) S=M30;SC;if [[ $cur == enter ]];then R;echo " При чтении приводит к извлечению информации из сжатых изображений .gz и .bz2 (только одно изображение на архив; требуется, чтобы gzip и bzip2 были доступный).
- При записи вызывает запись сжатой информации, если это поддерживается форматом метаданных (например, сжатые текстовые метаданные в PNG), отключает рекомендованное
- заполнение во встроенном XMP (экономит 2424 байта при записи XMP в файл) и записывает XMP в сокращенном формате - эквивалент установки API Compress = 1 и
- Compact = \"NoPadding, Shorthand\".";ES;fi;;
- #
- 31) S=M31;SC;if [[ $cur == enter ]];then R;echo "
- Изменить тег “artist” для всех файлов в директории назначения:
- exiftool -artist=\"Arthur Gareginyan\" ./folder
- ";ES;fi;;
- 32) S=M32;SC;if [[ $cur == enter ]];then R;echo "
- Изменить тэги нескольких файлов:
- exiftool -copyright=\"2014 Arthur Gareginyan\" a.jpg b.jpg c.jpg
- ";ES;fi;;
- 33) S=M33;SC;if [[ $cur == enter ]];then R;echo "
- Изменить тег Title:
- exiftool -Title=\"This is the title\"
- ";ES;fi;;
- 34) S=M34;SC;if [[ $cur == enter ]];then R;echo "
- Изменить теги Title и Author:
- exiftool -Title=\"This is the title\" -Author=\"Arthur Gareginyan\" input.pdf
- ";ES;fi;;
- #
- 35) S=M35;SC;if [[ $cur == enter ]];then R;clear;exit 0;fi;;
- esac;POS;done
|