Productivity Sauce

Dmitri Popov

﻿When it comes to dowloading photos from a storage card and organizing them in the process, Rapid Photo Downloader is just the ticket. But if you prefer to do that from the command line, here is a simple Bash script cobbled together by yours truly.

#!/bin/bash SOURCE_DIR="/media/NIKOND5000/DCIM/100D5000" WORK_DIR=TMP TARGET_DIR=Photos cp -R $SOURCE_DIR $WORK_DIR cd $WORK_DIR exiftool -r -d ../$TARGET_DIR/%Y%m%d/%Y%m%d-%H%M%S- '-FileName<$dateTimeOriginal$MyShutterCount.NEF' -ext NEF ../$WORK_DIR rm -rf ../TMP

The script copies photos from a mounted storage device like an SD card to the TMP folder, organizes the photos into folders by date, and then renames each photo using the data pulled from the photo's metadata. Photos are renamed using the YYYYMMDD-HHMMSS-ShutterCount.EXT format, so the resulting file name looks something like this: 20102019-135547-3375.NEF.

There are two things required for this script to work. First of all, you need to install the exiftool package which the script uses to extract relevant metadata, arrange photos, and rename them. exiftool is available in the software repositories of many mainstream Linux distributions, so you can install it using your distro's package manager. On Ubuntu, you can do this by executing the command below:

sudo apt-get install libimage-exiftool-perl

You also need to create the .ExifTool_config file in your home directory, and put the following function in it:

%Image::ExifTool::UserDefined = ( 'Image::ExifTool::Composite' => { MyShutterCount => { Require => 'ShutterCount', ValueConv => 'substr("$val", 0)', }, }, ); 1; #end

Adding the .ExifTool_config file is required only if you want to include the shutter count value in the file names. In case you use another renaming rule, you can skip this step.

Before you start using the script, specify the correct SOURCE_DIR value and the file format (e.g., RAW, CR2, or JPG).

That's all there is to it. Insert the card with photos, run the script, and it will download the photos, arrange them into folders, and rename them.

Sources:

http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,2320.0.html

http://owl.phy.queensu.ca/~phil/exiftool/config.html

Please enable JavaScript to view the comments powered by Disqus.

Disqus