Whats the difference between EXIF XPKeywords and other tags using -all-=

Started by FixEUser, September 04, 2016, 10:17:09 AM

Previous topic - Next topic


I'm coming from this thread: https://exiftool.org/forum/index.php/topic,7539.0.html

With this command:exiftool -overwrite_original -all-="Mickey Mouse" picturename.jpgI can remove the string "Mickey Mouse" from
IPTC Keywords
XMP LastKeywordsIPTC
XMP LastKeywordsXMP
XMP Subject
but it doesn't work for EXIF XPKeywords.

Can please someone tell me why the above command doesn't remove the string "Mickey Mouse" from the existing EXIF XPKeywords "Disney Land;Mickey Mouse;Donald Duck;Florida;USA"?
(I know that I can remove "Mickey Mouse" with exiftool -overwrite_original -api "Filter=s/Mickey Mouse//gi" -tagsfromfile @ -all:all picturename.jpgbut I don't understand the difference).

What exactly is the difference between the above working tags and the not working EXIF XPKeywords tag using the option -all-=?


Keywords, Subject, and the two LastKeywords tags are List type tags.  Each item is saved as a separate entry.  XPKeywords is a simple string.  All the items are saved in a single entry.

If you think of it like it was a spreadsheed, then for Keywords, Subject, etc, each item would be in a separate cell, but XPKeywords puts them all in the same cell.

The -= only works with List type tags (or to conditionally remove then entire tag or to shift date tags (or is it any number tag?)).  It doesn't operate on a string. 

That said, I never even thought to use something like -all-=.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).