News:

2023-03-15 Major improvements to the new Geolocation feature

Main Menu

filtering the number from the filename

Started by JTS, May 23, 2020, 06:29:10 AM

Previous topic - Next topic

JTS

Hi,
I'm quite new with the tool, but already managed to rename an move all my photos from several drives to one location, and rename the files accoridng to the shuttercount.
I discovered that my old camera didn't have the shutter count to the file, so i want to use the file number as my guideline.
the file names are of these forms:
DSCN1234.JPG
DSCN1234-1.JPG
DSC_002-3.JPG

Is there a simple way, using regex to rename all the file to this convention:
E57_XXXX-Y.JPG
where E57_ is constant, XXXX is four digit representation of the "main" number (i.e. 1234 or 002 from the names above) and Y stands for the copy number, using the %%c operator.

THANKS!

StarGeek

To clarify, you are ignoring the -1 and the -3 from your above examples.  Also, you want the output to be, I assume, zero padded when it is less than 4 digits (0002 instead of 002).

Try this.  If it works as you like, change Testname to Filename
exiftool "-Testname<E57_${Filename;m/(\d\d+)/;$_=substr('0000'.$1,-4)}%-c.%e" /path/to/files

Here I'm grabbing numbers that have 2 or more digits, so as to avoid the trailing -1 and -3.  Then that gets padded out with leading 0s to make sure it's at least 4 digits.  If you want to increase of decrease the padding, change the -4 to the length of the number and add or remove 0s from the  0000 string.

The percent sign in %c doesn't need to be doubled unless it is used in the format string for the -d (dateFormat) option or if used in a Windows .bat file.

One thing you might consider doing first, if the filenames are important, would be to copy the original filenames into the file with
exiftool "-PreservedFileName<Filename" /path/to/files/
That way if you make a mistake, you can start over with
exiftool "-Filename<PreservedFileName" /path/to/files/
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).