
Following the instructions, we closed the prompt and dragged an image file into ExifTool's executable. Right away we knew we were in unfamiliar territory. We extracted ExifTool's executable and double-clicked it to open the program's documentation, which includes an extensive list of file types and meta information formats that ExifTools supports.

To edit data, you'll need to rename the executable file and open it via a command line, which enables all of the Perl distribution's features. Simply place this portable tool's executable file on your desktop and drag an image file into it to produce a Command Prompt window displaying all of the file's available metadata. I now have a handy command line tool that allows me to change the title, caption and keywords of a photo easily.If you can handle the Perl programming language or have no problem with the Command Prompt (or typing characters and spaces) then ExifTool offers a super-fast way to view and edit an image file's metadata without having to open a substantial program. I don’t need this copy, so -overwrite_original prevents a proliferation of files that I would then have to delete That’s it By default it will create a copy of the original file first before modifying. With exiftool, it know you want to write the meta data by the = assignment of a value to the property name. We now have the values to set which are either new values typed in via read or the original values, so I can just write then back to the file: exiftool \

This is done using the handy :- parameter subsitution feature of bash: read -e -p "Title : " NEW_TITLE just pressing return) to indicate that I wanted to keep the current value. I decided that I also wanted a blank entry (i.e. Prompting for a new value is done using read. It’s a nice feature as I appreciate that I don’t have to pipe through sed or awk to extract just the part I want. The IPTC property names are a little opaque, which is partly why I wanted a script as I’m highly unlikely to remember that the title is the ObjectName property! The -s3 ( very very short) flag returns just the text of the property with no label as that’s what I want to store in the variable. for the title: IMAGE_TITLE=$(exiftool -s3 -iptc:ObjectName "$1") Firstly we use exiftool to find the current values of the three properties I care about. There’s a few interesting things that I’d like to point out. iptc:Caption-Abstract="$NEW_DESCRIPTION" \ # set to defaults if we got a blank result Read -e -p "Description : " NEW_DESCRIPTION

IMAGE_KEYWORDS=$(exiftool -s -s -s -iptc:Keywords "$1") IMAGE_DESCRIPTION=$(exiftool -s3 -iptc:Caption-Abstract "$1") IMAGE_TITLE=$(exiftool -s3 -iptc:ObjectName "$1") It’s a lovely tool with many options, so I wrote a script to make it easy and while I was there, used read to prompt me for the info to set. I recently needed to change the title and caption of some photos, so I turned to exiftool as it’s the Swiss Army knife of image metadata.
