Main Menu

Image vs. -listx tags

Started by daap, January 10, 2018, 05:15:21 PM

Previous topic - Next topic

daap

Hi,

I must be missing something and I can't find the right part of the documentation about this.

When querying an image, exiftool returns a tag EXIF:CameraModelName with the camera's model name as value. However, when running exiftool -listx, this tag is not part of the data returned. Why is that?

Cheers,
Daap

StarGeek

FAQ #2:

"When you run exiftool, by default it prints descriptions, not tag names, for the information it extracts." 

To find out the name of the tag, add -s to your command.
* 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).

daap

Hi StarGeek,

Leaving out -s (I was using it actually) when getting tags from an image does not change the name of this particular field.

Using -s in combination with -listx actually omits descriptions which would otherwise be included. The names are included either way.

So I don't really understand your answer.

Daap

daap

I found it, I was using -l and -s at the same time, and -l seems to win. Leaving -l out makes it work.

Thanks!

Phil Harvey

A single -l doesn't win over a -s.  It has exactly the opposite effect to -s, so one -s will cancel out one -l (and visa versa).  So you would need two -l's to win over one -s.

- 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 ($).

daap

Hi Phil,

As described, that is not the behaviour I see. The -l seems to win over the -s (note that the -l was specified before -s, not sure if the order matters here).

Daap

StarGeek

What version of exiftool are you using (exiftool -ver).

The behavior here is consistent regardless of if I put -s or -l and is exactly the same as if I don't put either.  Putting -s or -l by themselves gives different results consistant with what their output should be. 

C:\>exiftool -l -s -model y:\!temp\Test3.jpg
Camera Model Name               : EXIF:Model

C:\>exiftool -s -l  -model y:\!temp\Test3.jpg
Camera Model Name               : EXIF:Model

C:\>exiftool -model y:\!temp\Test3.jpg
Camera Model Name               : EXIF:Model

C:\>exiftool -l -model y:\!temp\Test3.jpg
Camera Model Name
      EXIF:Model

C:\>exiftool -s -model y:\!temp\Test3.jpg
Model                           : EXIF:Model
* 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).

daap

#7
I'm on 10.67. I just downloaded 10.74 and that shows the same behaviour.

Running ..\exiftool -t -G -s "2017-09-08 09-23-38 SONY.jpg" gives result (I only show the model line here, not the whole result):
EXIF   Model   DSC-HX90V

Running ..\exiftool -t -G -l -s "2017-09-08 09-23-38 SONY.jpg" gives result:
EXIF   Camera Model Name   DSC-HX90V

Running ..\exiftool -t -G -l -s -s "2017-09-08 09-23-38 SONY.jpg" gives result:
EXIF   Model   DSC-HX90V

So it does look like adding more -s overrides -l, but not in the case where just -l -s are specified.

The -t or -G have no influence on this, they just change the representation.

Phil Harvey

It is just that -l alone has no effect with -t because the 2-line output format is not compatible with a tab-delimited single-line output.

- 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 ($).