Digitising photos: software to set correct date in bulk?

wyx087

Suspended / Banned
Messages
3,209
Edit My Images
Yes
Hi all, I hope I'm in the correct forum subsection.

I have started the task to digitise all of the old family photo. It's going well so far, except for one thing: time stamping.

Obviously time stamp of the digital version is incorrect. The order of digitising are also incorrect. I've manually re-ordered the photos in Lightroom using the Custom Order catalogue view drag and drop feature. I then have managed to export the photos with a number sequence, so the files themselves are in the correct order when sort by file name. However my photo website software default to sort by capture time, and changing this is too complicated for my dear old mother.

Is there a way to set the correct capture date and time of the photos in bulk?
For example, I know all these photos are taken in the year 1989, and I have them in the correct filename order. Is there a software to set the capture time of the 50 photos within time range of 01/01/1989 and 31/12/1989. The photos will spread evenly across the range I specified, according to the pattern I specify (in this case, file name)

I searched for Lightroom plug-in but cannot find anything and I've now expanded my search on EXIF editors.

Hopefully people here have encountered similar problem and have found suitable solutions. :)

Many thanks
 
I don't know if you can get it to spread the timeframe automatically but LR will let you set the date taken to anything you want and you can apply that to the whole set.
 
I'm pretty sure there is an option to adjust all by the same time difference, this would keep the pictures is the sequence scanned when sorted by time. Meaning go to folder 1989, set the first file to 1 Jan, then all the rest would follow in the order scanned in. Might be sufficient.
 
Unfortunately the photos were not scanned in the correct order, even the original album had photos taken on same date in different pages. :confused:
 
I use Siren from Scarabee software to rename all files before I import them into Lightroom to the following format: YYYYMMDD_HHMMSS_ZZZ.EXT with ZZZ being a sequence number and EXT the original extension of the file.

It might be able to do what you want as well.
 
I use Siren from Scarabee software to rename all files before I import them into Lightroom to the following format: YYYYMMDD_HHMMSS_ZZZ.EXT with ZZZ being a sequence number and EXT the original extension of the file.

It might be able to do what you want as well.

Had a look at it, the tool appears to be just for renaming files. Unless I've missed it, it doesn't appear to be able to do anything to the time taken property of the JPG files.
 
I had the same problem with Aperture, and a kind person wrote an Applescript routine that would give an increasing timestamp for a set of images in an album, from an arbitrary date/time, I think by one hour increments. I found that very useful when I was doing a massive scanning job on old slides and negatives. However, not very useful to you!
 
I seem to recall metamorphose file renamer has options on this and can run in bulk.
 
I had the same problem with Aperture, and a kind person wrote an Applescript routine that would give an increasing timestamp for a set of images in an album, from an arbitrary date/time, I think by one hour increments. I found that very useful when I was doing a massive scanning job on old slides and negatives. However, not very useful to you!

That would be perfect. I'm not familiar with Applescripts, but the one below has to invoke Photos app. Does yours have to invoke Aperture? Can it do things just on the files, not through another database?


Thanks for the links, unfortunately the Applescript requires the photos to be in Photos app, with over 2000 photos to do, and probably 3000 left, it's not something I'm keen to trust Apple with.

The Google photos one seems similar, upload and use their online tool. I'm not keep uploading so much photos onto an online service.
 
Download any Linux live CD and look up the command touch.

Brilliant! touch -t seems to do what I want it to do to some extend. It doesn't appear to change EXIF data though, only file system times. I'll have to test this further: if I delete all photo EXIF metadata, and change file creation time, does my Synology DS Photos album website pick up the creation time as capture time?

Then just need to figure out a bash script to do this recursively.

I seem to recall metamorphose file renamer has options on this and can run in bulk.

Thanks, I shall investigate.
 
That would be perfect. I'm not familiar with Applescripts, but the one below has to invoke Photos app. Does yours have to invoke Aperture? Can it do things just on the files, not through another database?

I don't really understand Applescript either but this apparently creates a Service that's available to all OS/X applications. The first lines say:

Service receives [no input] from [Aperture]
Input is [entire selection]

... where items in square brackets are drop-down lists. I am guessing that in modified form it would work with Photos (which does have an Adjust Date ad Time function, though it doesn't do what you want in bulk, merely time shifting each image by the same amount, so the date order stays the same... as Aperture does). The script uses Automator. The author was Leonie Dreschler-Fischer who responded to my plea on the Aperture support forum in Apple Support Forums.

If you PM me an email address I can send you the zip file, else it might be worth trying to contact her through the forum, or asking the same question on the Photos or iPhoto forums.

The way it worked was as follows:

a) I would scan a bunch of slides, from one or more boxes
b) I would manually sort these into albums each representing a topic (eg it turned out that some slides from Tasmania were mixed up with some from new Zealand)
c) I would manually sort each album into the required sequence
d) I would manually set the date and time for the first image in the album, using an Aperture metadata change option
e) Select the entire album (or a subset), and run the Adjustdate service

All would be set in the correct date/time order, at one hour intervals, which seemed a reasonable compromise..
 
Brilliant! touch -t seems to do what I want it to do to some extend. It doesn't appear to change EXIF data though, only file system times. I'll have to test this further: if I delete all photo EXIF metadata, and change file creation time, does my Synology DS Photos album website pick up the creation time as capture time?

Then just need to figure out a bash script to do this recursively.
If you're comfortable with scripting you could do this with ExifTool:

http://www.sno.phy.queensu.ca/~phil/exiftool/
http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool_pod.html#WRITING-EXAMPLES
http://home.heeere.com/tech-exif-fix.html

You could increment the dates in a loop. ExifTool can do recursive processing for you. It's also available as a Perl module:

http://search.cpan.org/~exiftool/Image-ExifTool-10.55/lib/Image/ExifTool.pod

and there are various Python wrappers.

Otherwise, a quick and dirty way to do this would be to build up a series of single exiftool commands in something like Excel, starting with a list of file names in one column, using formulas to increment the dates in another, and using concatenation to assemble each command line (one per row), which you could then paste into a batch file or shell script.
 
Quick update: I've solved the problem with some basic scripting.

Using the EXIFtool, my script below sets photo capture dates to year value provided when calling the script, month starting from January, date starting from 20th. Date is incremented by 2 and at 28th month is incremented by 1. It will also throw out an error if there's too many photos to fit into year specified with the script increments.

Code:
#!/bin/sh
#Example: exiftool "-datetimeoriginal=1996:02:01 10:10:10" 00001_DSCE4107.jpg

echo ">  Setting all files to the year $1 "

# Starting values for month and date
COUNTMONTH=1
COUNTDAY=10

# For each file in the current working directory
FILES=$(pwd)/*
for f in $FILES
do
  echo ">> Processing $f "
  echo ">>> New values: $1:$COUNTMONTH:$COUNTDAY"
  # Call the actual exiftool command
  exiftool "-datetimeoriginal=$1:$COUNTMONTH:$COUNTDAY 10:10:10" $f
 
  let COUNTDAY+=2
  if [ $COUNTDAY -gt 28 ]
  then
    let COUNTDAY=2
    let COUNTMONTH+=1
    if [ $COUNTMONTH -gt 12 ]
    then
      echo ">>!!! Error: too many photos, edit script to reduce increment values !!!<<<"
      exit 1
    fi
  fi
done

# Clean up EXIFtool generated originals
rm *.jpg_original
 
That looks brilliant Wuyan. I don't know EXIFtool... does this involve opening the JPEG, adjusting the EXIF and then re-saving it? (In other words, is there the possibility of losing JPEG quality in the process?)

For me, the advantage of the Aperture script is that it does not re-save the JPEG; that's only done when the image is exported, which would have happened anyway!
 
No, the quality won't be affected. ExifTool only reads & writes metadata, so the image data doesn't go through a de-compression/re-compression cycle.
 
Back
Top