Getting destination file being processed by exiftool.

Started by EdDi, January 14, 2017, 05:57:14 PM

Previous topic - Next topic

EdDi

Hi,

I have a quick Q on the super awesome exiftool.  The more I use it, the more I find how extremely powerful this thing is.

Anyway, straight to the question.

Is there a way to find out the destination file (path and filename) exiftool is processing at a given time?

For example if I run something like this:

exiftool -v3 -o /DestDIR/JPG_NO_EXIF/%d "-FileName<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" \
           -d /DestDIR/%Y/%m/%Y-%m-%d_%Hh%Mm%Ss%%+2nc.%%le  -ext jpg srcDIR

How can I find the destination file (%Y-%m-%d_%Hh%Mm%Ss%%+2nc.%%le) just processed and copied by exiftool to the specified destination directory (/DestDIR/%Y/%m/%? , and right at processing / runtime of exiftool not afterwards by using a find command or grepping the verbose output of exiftool of something like that?

Based on this command, if I feed it a file named XXXX.jpg with DateTimeOriginal of Jan 2 2016 08:00:30, I will get a /DestDIR/2016/01/2016-01-02_08h00m30s.jpg.  How do I find this file at exiftool runtime.

Does exiftool store the destination file name and format in some sort of data structure that is accessible by the user?

There has to be a way to do this.  This tool is way to powerful to not be able to provide this functionality.

I have searched left and right in the forums but I'm coming up empty handed.

Thanks in advance.

-Ed

Phil Harvey

Hi Ed,

The -v option output is the only place you can get this information.  I don't know what you mean by "available at runtime" because the -v output is a runtime output, and is actually issued immediately before each file is renamed.  You just need to read the stdout stream while ExifTool is running.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

EdDi

Phil,

Thanks for the quick reply.  I understand the -v option is at runtime, what I meant was for a different way to get this info without having to parse a stdout stream.  Like a switch option or variable set by exiftool itself that could be captured by the user running exiftool.  Hope I'm making sense?   :-\

I'm using the -v option and I do get the output on the destination file written by exiftool in the form of:

'A_TEST_FILES/IMG_20160815_131332.JPG' --> 'A_TEST_FILES-DST/2017/01/2017-01-08_21h36m24s.jpg'

I can work parsing the stdout of exiftool, just wanted to know if there was a way of getting this information without having to resort to the fun task of parsing the stdout stream. 

It would have been really useful though.   :D

Anyways, thanks for taking the time to respond and keep up the great work.

Best Regards,

-Ed

Stephen Marsh

I hesitate to contribute, however do you mean something like the attached image (an Apple Automator service passing the ExifTool output to a new text file).


Phil Harvey

To me, parsing stdout sounds trivial.  On the other hand, I have no idea how it would be possible for you to get this information without parsing some sort of output stream.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).