How to bulk convert NEF/RAW images to JPG and remove original images?

I want to convert all NEF/RAW image files to an image format that could be easily opened without additional tools.

I thought about using ImageMagick's convert tool as mentioned in How can I convert a .jpg or .png image to .raw format?

However, I don't see any parameter for recursively looking for images in all subfolders nor for removal of old/original images in the documentation of the convert tool.

Should I look for another tool, or the only option is to write some loop around convert?


Solution 1:

Imagemagick cannot convert raw image files in recent Ubuntu versions because the ufraw-batch package is not available, due to it not being maintained anymore. We can however use darktable do the conversion. To install darktable run:

sudo apt install darktable

You can then use this command that uses darktable-cli to convert the images:

find . -type f \( -iname "*.raw" -o -iname "*.nef" \) -exec sh -c 'darktable-cli {} ${0%.*}.jpg' {} \; -delete

The above command uses find to do the following:

  • recursively search in the current folder: .
  • for files only: -type f
  • that their name ends either in .raw or .nef, irrespective of their case: \( -iname "*.raw" -o -iname "*.nef" \)
  • executes (-exec) this command to convert the found files to jpg: sh -c 'darktable-cli {} ${0%.*}.jpg' {} \;
  • deletes the original files: -delete

Caution: Make sure to first test the command in a copied portion of your files to ensure that it works as intended!