Recent Posts

Pages: [1] 2 3 ... 10
Hi Michael,

The SubIFD order problem is a bug in whatever software created the file, but ExifTool fixes this.

The MDItem warning may be ignored, and I will fix this in the next release.  Thanks for this report.

- Phil
The Image::ExifTool API / Re: More than one Date Format
« Last post by Phil Harvey on Today at 02:01:36 PM »
You could have to do something fancy to get a date in the epoch, but this could be done by overriding the Extra:FileModifyDate to disable all conversions with a config file like this:

Code: [Select]
%Image::ExifTool::UserDefined = (
    'Image::ExifTool::Extra' => {
        FileModifyDate => { },
1;  #end

Then the -d option could be used to format the other date/time tags.

- Phil

The "exiftool" Application / "Warning: Can only set MDItem tags on OS X"
« Last post by mklein on Today at 01:42:54 PM »
Hello all

I am just developing a BATCH file in order to adjust the time/date of some of my RAW files.

Everything works as desired, but I get two warnings I cannot explain:

Warning: [minor] Entries in SubIFD were out of sequence. Fixed.
Call: exiftool -DateTimeOriginal+="0:0:0 2:0:0" -CreateDate+="0:0:0 2:0:0" -ModifyDate+="0:0:0 2:0:0" -IFD1:ModifyDate+="0:0:0 2:0:0" -overwrite_original %1 -r

2. Warning: Can only set MDItem tags on OS X - C:/Users/Administrator/Desktop/_ABC1234.ARW
Call: exiftool "-FileCreateDate<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" -overwrite_original %1 -r

BTW: I am using Windows 10 Pro and not Mac OS

What does this mean and how can I fix it? If I check the files, all date/time adjustments have been done successfully.
So what do these two error message mean? Can I ignore them?

EDIT: Here's my complete script:

exiftool -DateTimeOriginal+="0:0:0 2:0:0" -CreateDate+="0:0:0 2:0:0" -ModifyDate+="0:0:0 2:0:0" -IFD1:ModifyDate+="0:0:0 2:0:0" -overwrite_original %1 -r
exiftool "-SonyDateTime<DateTimeOriginal" "-SonyDateTime2<DateTimeOriginal" -overwrite_original %1 -r
exiftool "-FileCreateDate<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" -overwrite_original %1 -r

Many thanks,
I would try to figure out the hierarchy ahead of time first, similar to the way the MWG example is.  In this case, I would probably go:
Code: [Select]
Zip Codes

One of my rules is to make sure that each child node is meaningful by itself in some way, even if it means duplicating some data from the parent node.  This comes from the fact that some of my software isn't able to read XMP metadata (I'm looking at you, irfanview, it's been requested for over 10 years) and that I duplicate the final node to XMP:Subject and IPTC:Keywords.  In this case, the final child nodes are just numbers, which aren't meaningful without context.

In your example data, my hierarchy would be similar to this:
Code: [Select]
Atlanta Population 197,000
Atlanta Zip Code 30901
Atlanta Zip Code 30904
Atlanta Zip Code 30906
Atlanta Zip Code 30907
Atlanta Zip Code 30909
Atlanta Zip Code 30912
Atlanta Zip Code 30815

After that, it's just a case of collapsing it down into a single string for each final child node, separating each node with a pipe | character.  If you desire the parent nodes to be added separately as well, you can do that also.
Code: [Select]
Georgia|Atlanta|Atlanta Population 197,000
Georgia|Atlanta|Atlanta Zip Code 30901
Georgia|Atlanta|Atlanta Zip Code 30904
Georgia|Atlanta|Atlanta Zip Code 30906
Georgia|Atlanta|Atlanta Zip Code 30907
Georgia|Atlanta|Atlanta Zip Code 30909
Georgia|Atlanta|Atlanta Zip Code 30912
Georgia|Atlanta|Atlanta Zip Code 30815

You would then just add each of those items to HierarchicalSubject like normal list items (see FAQ #17).

Of course, if you're only reading HierarchicalSubject and don't duplicate to other tags, you can condense the HierarchicalSubject a bit.  This is how I do things and it's grown out of what software I have and find easy to use.  It's certainly not hard rules and you should try and figure out what works for you. 

You can always change how you do things later if you like.  That leads to my number one rule, Get the data into the file.  Once it's in there, you can always move it elsewhere with exiftool.  It may take a while to run the command or you may need help crafting the command, but it can be done.
The Image::ExifTool API / More than one Date Format
« Last post by mrbrahman on Today at 10:36:35 AM »

Is there someway to specify more than one date format?

For e.g. obtain CreateDate and DateTimeOriginal in one format (YYYY-MM-DD HH:MI:SS), and FileModifyDate in Epoch.

Thank you

Thanks again for giving a detailed reply and thanks for giving direct links - I did not realise I was viewing a bookmark on

I see the complexity of HierarchicalKeywords and the difficulty in relationships.

I hope you do not mind me asking if you could expand on your HierarchicalSubject example focusing on 1 city
How could you write the following:

State = Georgia; City = Agusta; Population =  197,000;  ZipCodes = 30901, 30904, 30906, 30907, 30909, 30912, 30815

Code: [Select]
exiftool -ext JPG -use MWG "-Description<${Description;s/\s+$// or $_=undef}" "-Caption-Abstract<${Caption-Abstract;s/\s+$// or $_=undef}" -overwrite_original -common_args -charset filename=cp1252 -r /Photothèque

Now works. i.e. the top level directory is read correctly with it's accent and parsing the directories within works inspite of showing "odd" characters on the screen instead of the accented ones.

I was rather hoping that the -common_args tag that I added would correct this.

The "exiftool" Application / Re: clean up IPTC Description/Caption field
« Last post by Phil Harvey on May 26, 2018, 09:08:04 PM »
That's not funny at all.  Specifying file names with special characters is problematic as I said.  It can be done, but you must get your character sets correct.

- Phil
Other Discussion / Re: Designing metadata storage
« Last post by Phil Harvey on May 26, 2018, 09:05:03 PM »
I didn't have much time to go through your scripts in detail, and that was the only thing I noticed on my quick look.

- Phil
Newbies / Re: Update DateTimeOriginal Only If Missing
« Last post by StarGeek on May 26, 2018, 06:21:19 PM »
Add -r to recurse through subdirectories. 

Add -if "not $DateTimeOriginal" to only target files that don't have a DateTimeOriginal tag.
Pages: [1] 2 3 ... 10