If, like me, you have digital photo’s stretching back to the early days of digital cameras and even scans of film and slides, then you may have the same issue I had attaching the right date to the file. I have over 35,000 digital images, so developed a little command line tool to help called ‘Image Processing Console‘ (https://github.com/nrogoff/ImageProcessingConsole).
Modern cloud photo facilities like Microsoft OneDrive Photos and Google Photos automatically organise images based on the dates. Which is great, unless you are missing the correct ‘Date Taken‘. Tn5250. These and other catalogs seem to use a preference order as so where they get this date from. I imagine it’s something like
- Is that the file creation date or the last modification date? I'd rather fix the modification date and not the file creation date. The file creation date is updated everytime you copy the file to another place so it is pretty useless. The file modification date is preserved on copy. Jun 1 '12 at 6:29.
- EXIF Date Changer v3.9. Last Updated: July, 2020. To install, just download and run the installer and then follow the prompts. If you haven’t already purchased a license key you will still be able to run the standard lite version of EXIF Date Changer for free before deciding to purchase the PRO version.
- The window that appears allows for resizing by percentage, by pixel size, or by the physical size of inches/cm. Image Tuner will save the files to the original image format. If you want to output all the images to another format such as JPG, PNG, BMP, GIF, or TIF, add the Convert task to the list before clicking Process.
Convert to JPG by clicking the 'Convert' button; Once the conversion finishes, click the 'Download JPG' button to save the file. Convert Any File. FreeConvert supports 500+ file formats. Simply upload your files and convert them to JPG format. Alternatively, you can upload JPG files and convert them to a. Batch MMedia Date Changer handles JPEG, Adobe RAW (DNG), Canon RAW (CR2 & CR3), Fujifilm RAW (RAF), Nikon RAW (NEF), Olympus RAW (ORF), Panasonic RAW (RW2), Pentax RAW (PEF), TIFF, MP4, MOV, M4V, 3GP and 3G2 Formats. Included in Batch MMedia Date Changer is a Name Changer which let’s you tag Prefix, Suffix or even a Date (be it EXIF, Creation.
- Date in the image metadata (EXIF, IPTC or XMP!). There are several dates often stored here. Exactly which is considered the definitive ‘Date Taken’ is not clear.
- If no metadata found , then the image files created date is used. This can and is often completely wrong if you scanned a photo or even did copying and editing.
In Windows you can easily view which of your images have valid ‘Date Taken‘.
- In Windows Explorer, change the view to ‘Details’, then right-click on the columns and add the ‘Date taken’ column.
- You should then see a listing like this, clearly showing if the image does not contain the right metadata.
- If you also turn on the Details pane (View ribbon), you can manually edit the ‘Date taken’, as well as other details.
Some images are too old to have metadata, other have lost their metadata after being edited and yet more are missing it as they were scanned direct from photographs, slides and film.
The created and modified dates can also easily become useless once they are copied from system to system and disk to disk.
Image Processing Console (open source project)
To resolve missing ‘Date Taken‘ metadata in images files, I have just created an open-source command line tool. This tool can be used to set a specific ‘Date Taken’ on one or more files, or you get ask it to infer a shot taken date based on other files close by.
You can get more details on GitHub at https://github.com/nrogoff/ImageProcessingConsole and download the latest release or source code here. It’s functionality is currently limited to JPG’s only.
Just unzip the ‘ImageProcessingConsole.zip‘ and extract it to some folder. Then open command console at this location.
Syntax
Bulk update missing ‘Date Taken’
The most useful facility is when you have the odd image here and there that does not have a ‘Date Taken‘. This will probably be the images that you did some work on and saved a copy etc.
If you don’t supply a ‘shot taken date‘ (-s) then the app will try to infer a date based on image files in the same folder that do have dates.
The app will find the closest file by searching the files before and after when ordered alphabetically ascending.
When targeting specific files (without specifying a ‘shot taken date‘), we can see as shown below, that Faces-28.jpg will be given the 26/05/2006 02:21, but Faces-30.jpg will given 18/04/2004 07:49
When targeting a folder then the preceding date cascades down.
Save Autocad for mac for students.
April 18, 2018I have thousands of photos in a perfect, organized state with correct EXIFmetadata. However, this was not the case couple of years ago.
Not all of my photos had proper EXIF data. Some had EXIF metadata but wereincorrectly named, some didn’t have EXIF metadata, but I knew the time they weretaken and most of them had filenames with random numbers based on the camerashutter count.
Because I didn’t like the state of all my photos, I’ve decided to fix them.During this time, I’ve gathered a set of small, short code pieces that allowsme to change anything on a set of photos.
Before we dive in, please be cautious with the commands, some of them aredisastrous. Always do a backup before you start working manipulating the data.One final reminder, all the commands are only used on macOS, it might bedifferent based on what OS you use.
Now, let’s dive in:
Password Manager Pro is a secure enterprise password management software solution which serves as a centralized password vault to manage shared sensitive information, including privileged accounts, shared accounts, firecall accounts, documents and digital identities of.
Install tools
exiftool is a command linetool that allows you to change and manipulate the EXIF metadata of images. On macOSyou can easily install it with:
detox is a utility designed to clean upfilenames. It replaces difficult to work with characters, such as spaces, withstandard equivalents. It will also clean up filenames with UTF-8 or Latin-1 (orCP-1252) characters in them (i.e: foo bar - quz.avi
-> foo_bar-quz.avi
).This will come handy for scripting because you don’t have to escapewhite spaces in your files. To install:
Make a backup of your photos folder
Instead of using cp
, it’s better to use a tool that is faster and copesbetter with file permissions. To make a backup of your photo folder run:
These flags mean:
v
increases verbosity.a
applies archive settings to mirror the source files exactly, includingsymbolic links and permissions.E
copies extended attributes and resource forks (OS X only).progress
provides a countdown and transfer statistics during the copy
Remove all white spaces in filenames
Assuming all your photos are in one place, to remove all white spacesrecursively, run the following:
Find images without an EXIF metadata
The first mistake when editing batch EXIF metadata is assuming that all images haveEXIF metadata. That’s not always the case. To find all images (in JPEG
) withoutany date run the following, recursively:
verify:
Set EXIF date based on file modify date
Suppose a photo does have an incorrect date or no EXIF metadata. But you know thatthe modified date of the file is correct because that’s is the date the photowas created. To update the EXIF date based on this date, call:
Change EXIF date by shifting timezone
Sometimes I forgot to change the time of my camera when I travel and I shoot inmy local timezone. When this happens, I have to change all my photos and updateit with the correct timezone. The following examples shifts the time by -11hours (suppose local time is 10:00 PM, Photos will be adjusted to 11AM(previous day)). Change it according to your own needs:
Cm Batch Jpg Date Changer Free
Set the file modification date based on EXIF date
With the previous action, the EXIF date might be correct, but now the modified date is set to the date the tool was invoked. To fix the modified date of the file that was destroyed with the previous action, run:
Set EXIF date based on the file name
If you have a file with the name foo_20180418_103000.jpeg
(which is in the formatYYYYmmdd_HHMMSS
), but the EXIF date is incorrect, you can update the EXIF date from the filename with:
The format needs to be similar to the format above
Set file name based on the EXIF date
If you have a correct EXIF date, you can easily rename all files based onthe EXIF date of the file:
Set file name based on the file modified date
If you have a correct modified date, you can easily rename all files based onthe modified date of the file:
Rebuild and fix corrupted EXIF metadata
Sometimes exiftool refuses to operate on a photo because of the EXIF metadata beingcorrupted. To fix all photos recursively, run:
Filter out non JPEG files
Your photos/
folder might contain various kind of data, such as videos, gif,png images, etc. Let’s filter out all non JPEG files.
The file
let us find the mime type:
gives us this:
let’s pipe it to awk
to get the filename:
gives us:
to strip last char (:
) we use substr
this gives us:
Cm Batch Jpg Date Changer Online
To pick up files that are not of mime type image/jpeg
, we can use $NF
builtin variable, which prints the last field in a line and compare it toimage/jpeg
. If it’s not equal to it, we’re going to continue parsing thefile:
which gives us:
Now to list all files with inside the current directory you should run:
combining this with the awk
directive above and direct the result to afile called nonjpeg.txt
, we get:
As a bonus, this is how you can iterate over the files in nonjpeg.txt
andmove it to a new folder called others
:
Recursive action: * vs .
Some of the example above uses *
or .
for selecting all files recursively.The difference is that *
is a bash expansion. If you have hundreds of files,this won’t work as it fails after a threshold. Using .
is better, because inthat case exiftool
automatically selects the files.
Moving without overwriting
You might want to move files to a folder after fixing the issues. It’s possibleto have a duplicate filename due to the way your EXIF metadata was created.
To avoid overwriting with mv
, use the -n
flag. This will not move if a fieldwith the same name exists. As a bonus, I also use -v so it shows me theprogress (this is not very useful actually as it’s moving very fast, but I seethat mv
is working when I use it in a script, iterating over thousands of files)
Find files newer than given date
You can use find
to get a list of files that are newer than the given data.For example, the command below will give you a list of all files that are newerthan Jun 18, 2017:
I’ve found these little snippets very useful for a folder with thousands ofunorganized photos with corrupted and missing EXIF metadata. These are meant tobe combined with each other depending on the files you have. Use one that fitsyour workflow.
Cm Batch Jpg Date Changer Download
If you have any questions or feedback, please feel free to share them with me on Twitter: @fatih