Opinions wanted: Would the ability to rename image files within Darktable be useful?

I am organizing some images in DT at the moment and realize that I want to rename some of the images. I am unaware of any way of currently doing this in DT. I feel it would be a useful feature to improve the DAM capabilities of DT. Do others agree? Is there already a way of doing this? Would it be worth suggesting as a feature request?

1 Like

For me, not very useful as I rarely rename anything😄 however I’m well aware that my DAM skills are fairly non existent so I think it’s a valid question. Be interested in others thoughts.

Not useful for me. In fact my raw files are read only on my file system.

1 Like

Not useful for me, filenames are very much subsidiary to tags.

Not useful to me. The name of an image is not important to me. I never look at it except when using darktable and here I have what I need to create collection of images based on criteria (color, tag, camera, aperture…) or searching for a specific one. My picture are just named using the default when importing YYYYMMDD-nnnnn.EXT.

Not useful to me. My files and folders are named at import by Rapid Photo Downloader with this pattern:

preset_photo_rename\1\pref_list=Filename, Name, Original Case, Text, -, , Job code, , , Text, -ISO, , Metadata, ISO,

into a predetermined folder separated by filetype (PEF or JPG) under a subfolder of the camera model and year:

preset_photo_subfolder\1\pref_list=Date time, Image date, YYYY, Text, -, , Metadata, Hyphenated short camera model, UPPERCASE, /, , , Date time, Image date, YYMMDD, Text, -, , Job code, , , /, , , Filename, Extension, UPPERCASE:

Looks like I’m the odd man out here. Yes, I would like to be able to rename a selection of files in dt

1 Like

I can only second the others: no need for a rename functionality for me. I either rename the images according to the sortable ISO timestamp + original name when I copy them from the card, or leave them as-is in case I forget.

The rest is off-topic, mostly about my workflow. Please don’t respond to that here, we can open a new topic if someone wants to discuss further - although I think there’s nothing more I could add:

I have a version of the renaming script that also renames XMP sidecars; I can then simply remove the images of a given directory from darktable and then reimport them. Somehow, I’ve always felt that for me RPD needed more effort than using a file manager to copy and a script to rename, even though I know it could do all of that automatically. My directory structure is also date-based (two parallel trees, one for family events, one for solo), with one directory per year, and inside that one year-month-day-description directory per occasion. When the children were small and I shot more, I also had a subdirectory for the month.

I rename before import with a shell script (using the exif dateTaken field) and then never need to touch the filename again.

1 Like

two odd people out here but unless I learn to code I have no right to expect developers to do this just because I would like the feature.

When I was beginning with darktable, yes this would have been useful. Since the feature wasn’t available, I learnt to write a script that renames my files with date before import, which I’ve come to see is a better workflow.

In my workflow, I treat raw filenames like the data they contain: pure input. Only after development do I catalogue and sort them, which is where I start caring about file names. But not before.

1 Like

That is an excellent idea.

In my opinion, this would be very useful. DAM is inseparable from the global photo editing process. And I try to keep my photo file structure independent of DT (who knows…). One example of how useful it is, is to add a suffix to the 4 digits number (because for unknownm reason, manufacturers are still using a 50 years old CPM-limited naming scheme in 2023…). Sor for exemple Z7-1234-A, where A is the first 10000 pictures for my Z7. It happened several times that I made a mistake during import. I know I can delete the photos from DT, rename the .NEF & .xmp and re-import. But this is a long cumbersome process, it will be better to just be able to do it inside DT. Thx

Not useful for me as I never manage files directly but always search/export/copy file using tags and dates to select them. Thus I never even look at the files name.

Not useful for me. I let darktable rename the files on import, after that I never touch the file names.

I think I gave my answer implicitly in my reply to @paperdigits , but I will say explicitly, I do not need the ability to rename image files from within darktable.

There is a lua script, contrib/rename_images.lua, that can rename images and also move them (if you choose a different directory name).

4 Likes

Thanks Bill for having written a lua script that does precisely what I want. I am so pleased to now have this ability in the lighttable view.

If anyone decides to use the script I would point out that you need to type the file extension in as part of the new name. For instance I had an image I wanted to use for teaching purposes and wanted to change the name from irrelevant numbers given by the camera to a meaningful name for my students. I wanted to name the image Traditional Dancer but discovered I had to actually name it Traditional Dancer.orf to have it correctly recognized. I presume there is no way to automatically have the file extension applied by the lua script?

1 Like

The original file extension is saved in the variable FILE_EXTENSION, so you could specify <new filename pattern>.$(FILE_EXTENSION)

The variables that the script recognizes are

 placeholders = {"ROLL_NAME",
"FILE_FOLDER",
"FILE_NAME",
"FILE_EXTENSION",
"ID",
"VERSION",
"SEQUENCE","
YEAR",
"MONTH",
"DAY",
"HOUR",
"MINUTE",
"SECOND",
"EXIF_YEAR",
"EXIF_MONTH",
"EXIF_DAY",
"EXIF_HOUR",
"EXIF_MINUTE",
"EXIF_SECOND",
"STARS",
"LABELS",
"MAKER",
"MODEL",
"TITLE",
"CREATOR",
"PUBLISHER",
"RIGHTS",
"USERNAME",
"PICTURES_FOLDER",
"HOME",
"DESKTOP",
"EXIF_ISO",
"EXIF_EXPOSURE",
"EXIF_EXPOSURE_BIAS",
"EXIF_APERTURE",
"EXIF_FOCUS_DISTANCE",
"EXIF_FOCAL_LENGTH",
"LONGITUDE",
"LATITUDE",
"ELEVATION",
"LENS",
"DESCRIPTION",
"EXIF_CROP"},

The variables are set from each image to be renamed, so you can reuse any part you need by specifying $(variable name).

1 Like