Skip to main content
Participant
June 5, 2011
Open for Voting

P: Add more flexible import naming/structure options

  • June 5, 2011
  • 24 replies
  • 810 views

The one part of Lightroom that I have never got on with is the import module. The file and directory naming options are simply not sufficient to allow for the existing directory structure that and naming conventions that I use. My style is "P:\photos\2011\2011-06\Name of Job\d5100_1234.jpg" which I cannot create with LR3. Instead I use Downloader Pro from BreezeSys which allows me to automatically create this structure, and even prompts me for the "job name" before downloading the images.

24 replies

areohbee
Legend
November 24, 2012
Simon - for your filenaming scheme (in OttoImporter) you'd need this in your initFile function:

local model = getToken( 'exif', 'Model' ) -- all exif metadata is available as tokens (aka "fields" ).
model = LrStringUtils.lower( model ) -- convert to lower case
if model:find( "nikon " ) then
model = model:sub( 7 ) -- strip "nikon ".
elseif model:find( " s95" ) then
model = model:sub( string.len( "Canon PowerShot " ) + 1 ) -- skip to the s95 part.
end
putToken( 'custom', 'model', model ) -- make custom model token available to filename spec.

Starting to look more like lua programming, but still not too bad - I'll help if you need. And your filename spec would be:

filenameSpec = {
{ type = 'custom', field = { 'model' } }, -- custom model token
{ literal = '_' }, -- literal underscore character
{ field = { 'fileNum' }, format = '4-digits' }, -- pre-defined image-number token
}

I realize this may be over the head of non-programmers, but again: I can help...

Anyway, if you also put this in your import settings:

extCase = "Lower Case"

then you'd have these filenames:

d5100_1234.nef
s95_1234.cr2

Note: these names will not be unique, catalog-wide, since the image number rolls over. So, consider this filename spec instead:

filenameSpec = {
{ type = 'custom', field = { 'model' } }, -- custom model token
{ literal = '_' }, -- literal underscore character
{ field = { 'folderNum' }, format = '3-digits' }, -- pre-defined folder-number token
{ literal = '-' }, -- hyphen
{ field = { 'fileNum' }, format = '4-digits' }, -- pre-defined image-number token
}

which would give

d5100_103-1234.nef
s95_103-1234.cr2

(folder number = 103)

*this* filenaming scheme guarantees catalog-wide uniqueness, *unless* you buy another camera of the same model, or import photos from a like-modeled friend, in which case you'd need photograher's initials too, or something.

In case you're interested, my current filenaming scheme is:

filenameSpec = {
{ field={'dateTimeOriginal','year'}, format='4-digit' },
{ field={'dateTimeOriginal','month'}, format='2-digit' },
{ field={'dateTimeOriginal','day'}, format='2-digit' },
{ type='custom', field={'photogId'} },
{ field={'dateTimeOriginal','hour'}, format='2-digit' },
{ field={'dateTimeOriginal','minute'}, format='2-digit' },
{ field={'dateTimeOriginal','second'}, format='2-digit' },
{ type='custom', field={'cameraId'} },
{ field={'fileNum'}, format = '4-digit' },
}

which assures alphabetic order is same as capture-time order, and groups photos each day by photographer, e.g.

20121123RC095234NB1234.NEF

(photographers initials: RC; camera-id: NB - my second Nikon)

Note: photos taken by same photographer each day with different cameras are interleaved.

Admittedly long and hard to read (especially at first), but works perfectly for what I need.

Unique catalog-wide (even if the day's shoot involved another photographer shooting with same model simultaneously with overlapping image numbers...): I could export all my photos to a single flat folder (without renaming), and they would be ordered alphabetically just how I want, with no name conflicts.

Rob
areohbee
Legend
November 24, 2012
Simon,

To accomplish your import subfolder naming scheme in OttoImporter, you would need to change the import settings in the lua text configuration file to this:

foldernameSpec = {
{ field = { 'dateTimeOriginal', 'year' }, format = '4-digit' },
{ literal = app:pathSep() }, -- literal backslash on Windows
{ field = { 'dateTimeOriginal', 'year' }, format = '4-digit' },
{ literal = '-' },
{ field = { 'dateTimeOriginal', 'month' }, format = '2-digit' },
{ literal = app:pathSep() }, -- literal backslash (forward slash on Mac).
}

promptForCustomDirText = true

"custom dir text" would be "Name of Job".

That's lua script text format, but as you can see, it's fairly intuitive to customize by example/analogy. - about the same level of difficulty as editing preset .lrtemplate files - more stuff to wade through, but also more instructions/examples ;-}.

Rob
areohbee
Legend
November 24, 2012
Good choice. - and it's the default import subfolder naming in OttoImporter.
areohbee
Legend
November 24, 2012
You can do this now by simply editing the import preset with a text editor and replacing the dashes with underscores in 'shootNameFormat' (a misnomer, but that's what its called). - restart Lightroom afterward. - and if you ever resave the import preset, you'll have to edit that shoot name format again. If you're prone to forgetting - consider making it read-only so you can't change it without a "reminder".
areohbee
Legend
November 24, 2012
Consider OttoImporter. You have to edit a lua text configuration file to customize, but it can do all things "import-ant" (pun intended). e.g.

Default subfolder is: year/year-month-day{shoot-name}

You can be prompted for a new shoot-name once before each import, or each time the target subfolder changes (in this case each shoot day).

Example of the former (assuming card has 2 days worth of photos):

(prompt for shoot-name = Thanksgiving)
2012/2012-11-22 Thanksgiving
2012/2012-11-23 Thanksgiving

Example of the latter:

(prompt for shoot-name = Thanksgiving)
2012/2012-11-22 Thanksgiving
(prompt for shoot-name = Black Friday)
2012/2012-11-23 Black Friday

Don't like the default subfolder? - trivial to customize once you find the right thing to tweak (can be a bit daunting at first, so be prepared). - I'll help if you need it.

Rob
Participant
November 11, 2012
In LR 2.4 and earlier (I never upgraded to 3.x) I would always import into the following folder structure:

YYYY/Month/ShootName/

As of 4.1 I can no longer figure out how to do this. In the File Renaming section, adding a '\' to the name does not create a sub directory; instead it adds a "-" to the name. The the Destination section, the "Into Subfolder" option creates the subfolder above the date organization resulting in

ShootName/YYYY/Month/

Is there a way to support my old organization scheme with 4.1?

Thanks!

Inspiring
November 10, 2012
When importing photos into the LightRoom 4 beta library, the file renaming toolbox has nice capabilities for renaming the file based on the sequence, date or file number. I could not find a way to also apply a custom setting (e.g. use the sequence number in the sub-folder), which has been my convention for now above 10 years.

As no menu exists to specify such a sub-folder naming rule, I tried entering "{Import # (001)}" or "{Import # (001)»}" into the destination sub-folder, to no avail. The folder takes that name, regardless of its name.

Do you need that too to improve your workflow and minimize naming errors ? Vote for the feature !

Participant
November 10, 2012
My pictures are stored in folders by date. The format I've used for years is yyyy_mm_dd which is a pretty common thing to use. The use of '_' instead of '-' (underscore instead of dash) is preferred since references to items with a dash in any programming environment are problematic for some, but the underscore is never a problem.

Lightroom provides several choices for naming of folders during an import, but leaves out any date format that uses underscores. Currently I have to select the dash version and after my import, find and rename each folder that was just imported.

How about adding one more date format for folder names, ie YYYY_MM_DD?

Inspiring
April 25, 2012
you may try ImageIngester, or the cheaper Ingestamatic programs, both run on Mac and PC. For the Mac, you could also use "A Better Finder Rename", after ingesting photos via TdI.
As for myself, I've been using for many years now, the free program "ExifRenamer".
Participating Frequently
April 25, 2012
I just moved from PC to Mac for my location work. Unfortunately BreezeSys Downloader Pro is not available for Mac and according to Chris Breeze (the author) is not financially viable for him to produce a Mac version of the product. So I am forced to use LR4 for copying images off card - I must say, this has put a huge dent in my workflow as LR4's import options are extremely lacking in functionality. The comments/ideas in this forum topic need to be given serious consideration by Adobe to fill the void in the current Import feature set.