Причина, по которой ваша команда не работает, заключается в том, что вы проверяете только тег Ключевые слова. Расположение - это другой тег, и вы бы проверили там эту информацию.
К сожалению, Exiftool не может перечислить только те теги, у которых есть соответствующие данные. Вы можете передать вывод через другую программу командной строки, например Find (поскольку вы находитесь в Windows) или Grep (другие платформы). В этом случае ваша командная строка будет выглядеть так:
exiftool -g1 -a -s FileOrDir | Find "Odeon"
Это будет список всех тегов, которые содержат информацию.
После вы нашли тег, вы можете затем удалить его без резервной копии файла с помощью этой команды, заменив TAG с именем тега:
exiftool -overwrite_original -TAG= FileOrDir
Обратите внимание, что эта команда будет удалить этот тег из всех файлов, если вы укажете каталог. Если вы хотите быть более избирательным, а тег содержит ТОЛЬКО текст «Odeon», вы можете использовать эту команду. Обратите внимание, что эта команда чувствительна к регистру. Он не удалял бы «oDeON» или другие варианты:
exiftool -overwrite_original -TAG-="Odeon" FileOrDir
Если вы хотите удалить определенный тег, содержащий «Odeon» как часть более длинной строки и нечувствительный к регистру, то вы можете добавить опцию -if
.
exiftool -overwrite_original -if "$TAG=~/odeon/i" -TAG= FileOrDir
Наконец, есть подход к дробовикам, используя опцию -api "Filter=…"
. Для этого требуется версия 10.05 или выше. Эта команда:
exiftool -overwrite_original -api "Filter=s/odeon//gi" -tagsfromfile @ -all:all FileOrDir
удалит «odeon» (без учета регистра) из всех тегов в файле. Он не удаляет тег, и если odeon является частью более длинной строки, остальная часть строки останется. Например, если «Место» было равно «Одеон», оно стало бы пустой строкой. Если «Описание» было «Это Одеон», оно станет «Это». Часть после «Filter =» является подпрограммой perl regex, и вы можете ее дополнительно уточнить, просмотрев регулярное выражение.
Если один тег содержит несколько разделенных слов, таких как «Одеон, Лондон, Великобритания, Европа», и я использую ваш последний подход, я получаю «Лондон, Великобритания, Европа» с ведущей запятой (или независимо от разделителя) , Как я могу удалить всю часть Odeon, включая разделитель, оставив только «Лондон, Великобритания, Европа»? – PeterCo
Это зависит от того, что это за тег. Похоже, этот тег может быть тегом типа списка, например Keywords или Subject (оба из которых являются тегами, используемыми для хранения ключевых слов). Если это так, он оставляет пустую запись в теге, и использование опции «api Filter» - это не то, что вы хотите использовать. Сначала попробуйте эту команду 'exiftool -overwrite_original -ALL- = Odeon FileOrDir' и посмотрите, работает ли это для вас. – StarGeek