ExifTool Forum

ExifTool => Newbies => Topic started by: J4c06r1nw1s on January 04, 2022, 06:07:21 AM

Title: In what ways can I separate the original from edited files?
Post by: J4c06r1nw1s on January 04, 2022, 06:07:21 AM
In what ways can I separate the original from edited files?

I have this now.
exiftool . -if '(($DateTimeOriginal or $createdate) < $ModifyDate)' -s -FileName -DateTimeOriginal -createdate -ModifyDate
This also doesn't work and gives a file not found message.

I want to check if the ModifyDate is a few minutes or seconds newer than the DateTimeOriginal or createdate.

Or is there a better way?

I've also seen that an edited file has an XMPToolkit tag added and sometimes a HistorySoftwareAgent tag.

Which way do you use for that?

Is there also a short way here for something like this for example:
'-FileName<${XMPToolkit;s/.+/EDITED/}%f.%e'
This way is not correct because when I convert a NEF to a DNG I also get an XMPToolkit tag.

Title: Re: In what ways can I separate the original from edited files?
Post by: Phil Harvey on January 04, 2022, 07:54:57 AM
Quote from: J4c06r1nw1s on January 04, 2022, 06:07:21 AM
This also doesn't work and gives a file not found message.

I see no way that this command could give that message.  "." should always exist.

QuoteI want to check if the ModifyDate is a few minutes or seconds newer than the DateTimeOriginal or createdate.

You could do this (to find files with a 3 minute difference):

exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s ...

QuoteI've also seen that an edited file has an XMPToolkit tag added and sometimes a HistorySoftwareAgent tag.

Which way do you use for that?

exiftool -if '$xmptoolkit or $historysoftwareagent' ...

QuoteIs there also a short way here for something like this for example:
'-FileName<${XMPToolkit;s/.+/EDITED/}%f.%e'

It would be simpler to do this:

'-filename<${XMPToolkit;$_="EDITED"}%f.%e'

QuoteThis way is not correct because when I convert a NEF to a DNG I also get an XMPToolkit tag.

So don't apply this to DNG files:  --ext dng

- Phil
Title: Re: In what ways can I separate the original from edited files?
Post by: J4c06r1nw1s on January 04, 2022, 08:44:30 AM
Thank you very much  :)
Title: Re: In what ways can I separate the original from edited files?
Post by: J4c06r1nw1s on January 04, 2022, 09:51:51 AM
Quote
You could do this (to find files with a 3 minute difference):

exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s ...

This works


exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s -FileName .



Unfortunately, this doesn't work when I'm working with dates.


exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s '-TestName</test/${CreateDate#;DateFmt("%Y/%m/%d")}/test_${CreateDate;DateFmt("%Y%m%d%H%M%S")}.%e' .



Warning: Error converting date/time for 'CreateDate' - /volume1/footage/PHOTOS/image_1.jpg
Warning: No writable tags set from /volume1/footage/PHOTOS/image_1.jpg
Warning: Error converting date/time for 'CreateDate' - /volume1/footage/PHOTOS/image_2.jpg
Warning: No writable tags set from /volume1/footage/PHOTOS/image_2.jpg
Warning: Error converting date/time for 'CreateDate' - /volume1/footage/PHOTOS/image_3.jpg
Warning: No writable tags set from /volume1/footage/PHOTOS/image_3.jpg



exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s -r '/volume1/footage/PHOTOS' -datetimeoriginal -createdate -modifydate


All the dates are then in seconds. How can I prevent this?


======== /volume1/footage/PHOTOS/image_1.jpg
Create Date                     : -2082844800
Modify Date                     : 1348223519
======== /volume1/footage/PHOTOS/image_2.jpg
Create Date                     : -2082844800
Modify Date                     : 1348223530
======== /volume1/footage/PHOTOS/image_3.jpg
Create Date                     : -2082844800
Modify Date                     : 1348223267

Title: Re: In what ways can I separate the original from edited files?
Post by: StarGeek on January 04, 2022, 10:43:20 AM
Remove the -d %s and add it to the -if option (https://exiftool.org/exiftool_pod.html#if-NUM-EXPR)
-if '(${DateTimeOriginal;DateFmt("%s")} or ${Createdate;DateFmt("%s")}) + 180 < ${ModifyDate;DateFmt("%s")}'

edit: Linked wrong option
Title: Re: In what ways can I separate the original from edited files?
Post by: J4c06r1nw1s on January 04, 2022, 11:06:32 AM
Great that works. Thank you. :)
Title: Re: In what ways can I separate the original from edited files?
Post by: Phil Harvey on January 04, 2022, 09:48:10 PM
StarGeek's technique works, but TIMTOWTDI...

Quote from: J4c06r1nw1s on January 04, 2022, 09:51:51 AM
Unfortunately, this doesn't work when I'm working with dates.


exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s '-TestName</test/${CreateDate#;DateFmt("%Y/%m/%d")}/test_${CreateDate;DateFmt("%Y%m%d%H%M%S")}.%e' .

You forgot to disable the print conversion for the second CreateDate (ie. add the trailing "#").


Quote
exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s -r '/volume1/footage/PHOTOS' -datetimeoriginal -createdate -modifydate


All the dates are then in seconds. How can I prevent this?

exiftool -if '($datetimeoriginal or $createdate) + 180 < $modifydate' -d %s -r '/volume1/footage/PHOTOS' -datetimeoriginal# -createdate# -modifydate#

- Phil
Title: Re: In what ways can I separate the original from edited files?
Post by: J4c06r1nw1s on January 05, 2022, 06:09:46 AM
Thanks I'm starting to understand more and more.