Exiftool Tool Use Case
Exiftool Tool Use Case
URL. This zip file provides a single executable file without any installation.
https://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-11.31.zip
We just need to extract the file with WinZip, 7zip, WinRAR etc.
Syntax
The Syntax of the exiftool is like below. We can see that there is 4 different
syntax for different use cases like reading metadata, writing metadata, copying
metadata and other operations.
exiftool Syntax
List All Metadata of Given Image/File
We can list all metadata by providing the file we want to inspect. In this example,
we will list all metadata of Tux.png . As we can see this is a png file which is an
image format.
$ exiftool Tux.png
1. `ExifTool Version Number` specifies the version of the tool which is 11.10
2. `File Name` specifies the name of the file which is Tux.png
3. `Directory` specifies the path which is the current working directory.
4. `File Size` specifies the size of the given file which is 37 kB
5. `File Modification Date/Time` specifies the modification date and time
which is `2019:03:13 05:45:32-07:00`
6. `File Access Date/Time` specifies the access date and time which is
`2019:03:13 05:45:32-07:00`.
7. `FileInode Change Date/Time` specifies the Inode or disk change date and
time which is `2019:03:13 05:45:32-07:00`.
8. `File Permissions` specifies current user, group and other permissions of
the file which is `rw-rw-r–`.
9. `File Type` specifies the type of the file which is `PNG` in this case
10. `File Type Extension` specifies the extension of the file which is `png` in
this example.
11. `MIME Type` specifies the mime code of the file which is `image/ng` in this
example
12. `Image Width` specifies the width pixel count of the given image which is
300 in this case.
13. `Image Height` specifies the height pixel count of the given image which is
354 in this case.
14. `Bit Depth` specifies the pixel bit or quality which is 8 bit in this example.
15. `ColorType` specifies the color representation which is `RGB with Alpha` in
this case
16. `Compression` specifies the compression type of the given image which is
`Deflate/Inflate` in this example.
17. `Filter` specifies the filter type.
18. `Background Color` specifies the RGB representation which is `255 255
255`.
19. `Modify Date` specifies the date the image modifies in original which is
`2018:12:25 19:33:00`.
20. `Datecreate` specifies the creation date and time of the original image
`2018-12-25T19:33:00+00:00`
21. `Datemodify` specifies the modification date and time of the original image
`2018-12-25T19:33:00+00:00`
22. `Megapixels` specifies the megapixel or pixel count in mega format which
is 0.106 in this case.
Export Metadata Into HTML File
We can export metadata of given files or images into an HTML file format with
the -h option. In this example, we will export metadata of Tux.png into HTML
name Tux.html.
Write Metadata
We can also write or overwrite metadata of the given file. In this example, we will
overwrite the Rights metadata of All.doc .
https://exiftool.org/faq.html
Introduction
There are many tools for viewing/editing metadata inside image files. In my
opinion, ExifTool by Phil Harvey, is the best I've found so far. Here's why:
So, I've decided to make some simple ExifTool GUI for my private use. There are
already some GUI's that make use of ExifTool, but some of them are not flexible enough
(for my needs) and/or have somehow limited use. When making ExifToolGUI, the main
goal was:
a) -view all metadata that ExifTool recognizes,
b) -ability to edit most frequently used metadata tags,
c) -batch capability (where appropriate), means: you can select multiple files and modify
them at once.
Basic idea behind GUI is, to keep it simple! Thus, only those options are implemented,
which I believe, are essential for majority of users.
Content Menu:
a) Program menu
1. Options menu
2. Export/Import menu
3. Modify menu
4. Various menuPanel:
5. Filelist panel
6. ExifTool direct panel
7. Metadata panel
8. GoogleMap panelFinal words
Program menu
Preferences
Metadata language
Here you can choose the language for displaying metadata tag names and values
in Metadata panel. Selected language is also used when working in ExifTool direct mode
(output to Log window), or when exporting metadata to external TXT files.
Separator character
Some metadata tags (i.e. keywords, etc.) can hold multiple values and to be able to separate
these values when showing, some "special" character is needed. Keep in mind, that this
character isn't stored into metadata! -it is just used to separate values when displaying multi-
value tags on your PC.
Workspace manager
Here you define what will be shown in Metadata panel when Workspace is selected.
Besides ExifTool direct option, this is the most powerfull GUI feature.
Tag name column
Here you define tag name you prefer to be displayed for particular metadata tag. These tag
names don't have any influence on actual tag names and you can write anything here, i.e.
instead of "ISO", you can have "Noise maker" here.
Tag names written here, can have different "behaviour" in case special character is used for
their ending. For now, GUI uses following ending characters:
# -if tag name ends with this character (see Flash# and Orientation# above), then content of this
tag will be displayed as usual. However, when modifying this tag, you need to enter numerical
value.
* -if tag name ends with this character (see Artist* above), then that means, that value defined
in Hint text will be used as default value for this tag. In this case, if you right-click
on Metadata panel (when in Workspace view mode), pop-up menu appears and there's
option Fill in default values -you get the idea, I hope.
? -if tag name ends with this character (see Geotagged? above), then that means, that you're
not interested on tag value itself -what you wish to see is, if particular tag is defined or
not. Note: You won't be able to edit such tag in Workspace view.
± -if tag name ends with this character (see Type± in main screenshot above), then you'll be
allowed to enter multiple values for single tag at once (i.e. keywords and similar). Of course, you
can't use this feature for any tag, so read (Iptc & Xmp) metadata documentation to findout what
tags support multi-values. Btw. you can get ± character with Alt+0177 (typing 0177 on numerical
keyboard, while pressing Alt key).
Note: I might use further special ending characters in future, so try to avoid their usage at the
end (or start) of tag names.
I hope you can recognize the power of Workspace manager: YOU define any metadata tag you
wish to change regulary. Btw. you can move defined tags up/down by clicking & moving tag
name in first (Tag name) column.
When you choose Save, you'll be asked where to save the file and you'll need to set the
filename. By default, save directory will allways be the directory where ExifToolGUI.exe is
saved; however, you can choose any other directory.
When you choose Load, again, default starting directory will be the one, where ExifToolGUI.exe
is. And if you've messed with your Workspace inbetween, you can choose to load Workspace
from ExifToolGUIv5.ini file -which simply reloads Workspace from last GUI session.
However, when saving, name of Workspace definition file can not be ExifToolGUIv5.ini -you
should use any names that reminds you on content, for example: MyWorkspace_XMP.ini.
GUI color
My humble attempt to keep GUI up to date... to some degree :)
Options menu
Don't make backup files
-if checked (default), then ExifTool won't make "filename.ext_original" backup files. However, if
you're not sure what you're doing, then you better uncheck this option.
All above options will be saved when exiting GUI and thus be applied in next GUI start.
Remaining options settings however, are only temporary (as long GUI is running) and are not
checked by default:
Export/Import menu
Export metadata into : TXT, MIE, XMP, EXIF, HTML files
Every of these formats has different purpose: i.e. MIE is for making backup of complete
metadata inside image file, HTML is ment for "studying" metadata structure, etc. So, try and see
what suits your needs.
Note: Because it's assumed, that destination file has been modified inbetween (resized, etc.),
not all metadata is desired to be copied. Because of this, you'll be asked, if you also wish to
copy following tags:
-in 99% cases, there will be no reason to check any of above option.
enabled), metadata will always be copied into all JPG or TIF (but not both) files inside current
folder. That is, this option behaves as if all JPG or TIF files are selected in Scenario 2 above.
processed?". If we choose No, then again, this option behaves the same way as if all files are
selected in Scenario 2 above. However, if we coose Yes, then metadata will be copied into
images in all subfolders as well (only where folder/file names are equal, of course).
Let's see an example, where we wish to update jpg files with metadata from raw files:
1. Select any destination file inside MyJpg\Dir1 folder. If you select any JPG file, then only JPG
files will be processed; if you select TIF instead, then only TIF files will be processed.
2. Choose menu Copy metadata into all JPG or TIF files
3. Click on Yes button when asked
4. File browser will appear, where you select any (source) file
inside MyRaw\Dir1 folder. Note: You only need to select one file (to specify file extension).
5. A panel will appear, where you confirm/check which of "not desired" metadata you wish to be
copied:
Note: Even if none of above is checked, the rest of metadata in source files (Exif, Xmp, etc.) will
be copied into destination files.
That's it: after click on Execute, metadata will be copied into all files inside MyJpg\Dir1 folder
(incl. Dir2 folder) from files inside MyRaw\Dir1 folder (incl. Dir2 folder).
If we would choose No in step 3 above, then only files inside MyJpg\Dir1 would be processed.
Step 2: Check use all log files in directory if more than one log file for set of files exist.
Let's say you've made three day trip to Venice. In such case all photos will reside in single
folder, but three (or more) log files will exist for that set of photos.
Note: In this case, it doesn't matter which (of multiple) log file you choose -important is, all log
files must have the same extension.
In both cases above it's assumed, that camera is set to local time of where photos are taken. It's
also assumed, that when geotagging, your PC/laptop is set to your local (home) TimeZone.
For further reading/questions see here.
MyPhoto.jpg - MyPhoto.xmp
or
img_01.cr2 - img_01.xmp
etc.
Because image and sidecar files usually reside in the same folder (that is, they are mixed), it is
a good idea to use file type filter (which is set to "Show ALL files" by default). That is, if you wish
to write GPS data into JPG files, you should set filter to "JPG files only". However, this setting is
not required!
Workflow is as follows:
files are grouped -not mixed) or
use desired file type filter (i.e. "CR2 files only"). The only reason for doing this is: you can select
(only) image files easier.
Import GPS data from xmp file(s), you'll be prompted to select folder
containing (xmp) sidecar files -in most cases, that will be the same folder where image files
reside....and that's it.
Modify menu
Exif: DateTime shift
Exif: DateTime equalize
Remove metadata
Note, that in some cases (depends on image file format), it's not possible/safe to remove
metadata you've choosed for removing. In such cases, ExifTool will simply refuse to remove
such metadata (also see Ignore minor errors in metadata menu above).
Various menu
File: Date modified as in Exif
-use it, if you feel the need.
File: Name=DateTime+Name
Filelist panel
Refresh button
-will update folder (directory) content in filelist panel. This might be usefull in cases you're
interested on file characteristics changes (size, etc.) after applied operations.
No matter how disappointed you might be, you can't define/change tags shown in these
predefined views. The main and only reason why's that is: that's the only way I could get
reasonable speed to show this data.
But to give you at least something, the last entry in this drop-down box is User defined. If you
select that, then Edit button on the right side becomes enabled, and by clicking on it, you'll get:
-here you can define your own columns and metadata values to be shown.
Note: Displaying User defined details view is noticeable slower than fixed predefined views. So,
use this view on relative small amount of files in folder. In short: tryout.
Note: Don't need to write "exiftool" here -GUI will take care of calling ExifTool for executing
commands you have entered.
Note: Even you're in "direct mode", Options menu settings for:
If you're a bit familiar with ExifTool usage, then here, you can execute commands not covered
by GUI. Usage is very simple:
clicking on ExifTool direct button again, or Esc key while you're in edit line.
Using predefined ExifTool commands
There's one predefined ExifTool command in GUI, so you can see what's all about. To access it,
you click on combo-box (blank on above image) and choose it:
Once command is chosen, you can execute it by pressing Enter key (while you're in edit field). If
needed, you can modify displayed command and execute it, without actually changing
predefined command.
Note: Don't use = character in Command name field! -because in INI file, this character is used
as separator between command name and actual command.
Let's save this text as "MyData.args". Note: File must be saved in the same folder where
exiftool.exe is saved (or inside Windows folder).
To execute above commands in GUI (after desired image files are selected), we need to write
the following Command into ExifTool direct panel:
-@ MyData.args
ExifTool full source version (can be downloaded on top of ExifTool main page) contains several
predefined args files, which are ment for transferring "similar" metadata between sections. One
of them is (for example) "xmp2iptc.args" file, which copies all "compatible" metadata from Xmp
to Iptc section. And as said, there are more of them.
-e -gps:all
Note: In case of errors, Log window with relevant messages automatically appears after
ExifTool ends processing files.
Metadata panel
By clicking on any button on top row, relevant metadata will be shown -that is, top row is for
displaying metadata only.
In second row, there's only one button: Workspace. This button is "pressed" by default on every
GUI startup and this can't be changed by user. And where are "good old" [ ^ ] edit buttons,
known from previous GUI versions? They're gone.. they aren't needed anymore.
As explained above (see Workspace manager menu), Workspace is fully customizable: user
can define which tags he wish to be listed here. And value of any tag listed in Workspace can
be edited at will.
If you've changed your mind and don't wish to change particular tag, then select that tag,
right-click (to show pop-up menu) and choose Undo selected editing -this is usefull in
cases when many tags are allready edited and not saved.
If you've changed your mind completely (don't wish to apply any changes), then just click
on Workspace button and changes will dissapear.
Note: Changes are lost in most cases when you click elsewhere outside Metadata view
area.
Save button.
Some tag values may require a bit longer text to be entered (just a bit longer, please). To do
that more comfortable, click on Large button and you'll get some more space:
You can also add multiple keywords at once, for example by entering: +nature+daylight+sky
or you can delete multiple keywords at once, for example: -water-tree
Note: As you know by now, you can't enter keywords which contain + or - sign (which is a bad
keywording habbit anyway).
Advice: Don't write stories into keywords -by it's definition, keyword is ment to be a (single)
word.
Pop-up menu in Metadata panel
As mentioned, if you right-click on any tag shown in Metadata panel, a pop-up menu will appear:
Add tag to Workspace -in Exif, Xmp and Iptc view only
By using this option, you can easy add any Exif, Xmp or Iptc tag into Workspace. Selected tag
will be added at the end of existing Workspace list of tags. Once tag is added, you can make
further customisation by using Workspace manager.
Add tag to Filelist Details -in Exif, Xmp and Iptc view only
This command adds selected tag into Filelist Details: User defined columns.
Zoom trackbar
GoogleMap allready contains zoom tool. The difference is, that by using Zoom trackbar, you're
zooming on position where map cursor is. That is, when zooming, position of map cursor
remains in the center of the map.
Find field
-for finding places easier...
Home button
-moves the map cursor to your predefined position.
Set^ button
Current map cursor position becomes Home position.
Geotag files button
By clicking on this button, all selected files will be geotagged with current map cursor position.