Setting "Content Created" date as file Creation Date

Started by elpabloB, May 02, 2020, 06:15:52 AM

Previous topic - Next topic

elpabloB

Doh.

Feel like a total Newb here.  Im sure the question is answered in multiple places, I'm just not finding them - I only found a command line to reverse the above, which is not what I want to do...  Can someone tell me how to do this please ?  All I'm looking to do is do this for all my backed up photos as I'm moving them from one photo sharing app (it's just family photos) to another, and when I've downloaded the backup, they obviously unzip with todays creation date.

I'm not looking to become an expert.. I just need help !

Oh, and I'm using Mac Terminal for the commands
]
Thankyou in advance guys !

Phil Harvey

Run this on a file to see what date/time tags are available.

exiftool -time:all -s FILE

Then use a command like this to set the creation date (assuming for example you want to get it from the "CreateDate" tag):

exiftool "-filecreatedate<createdate" FILE

Note that you need the "setfile" utility on MacOS to set FileCreateDate.  You can install this with "xcode-select --install".

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

elpabloB

Hi Phil,

Thanks for the quick reply.

I saw the following in someone else's question, and after installing the command line tools, I got a set of error messages :-
exiftool '-exif:createdate<exif:datetimeoriginal' '-exif:modifydate<exif:datetimeoriginal' '-file:filemodifydate<exif:datetimeoriginal' '-file:filecreatedate<exif:datetimeoriginal' .

Ive run exiftool -time:all -s

and it's definitely the createdate I want to use, but when running the above, I get the following :-

Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100014.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100022.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100006.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100016.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100023.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100012.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100020.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100002.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100010.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./20171010_231823.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./20171010_231529.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./20171010_204947.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./20171010_231836.jpg
Warning: Error 17664 running "setfile" to set FileCreateDate - ./PA100011.jpg
    1 directories scanned
   30 image files updated
    1 image files unchanged
    3 files weren't updated due to errors


And a set of files with current date and time as creation date ?

elpabloB

Ha. Sorted it Thanks !

I hadn't agreed to the command line user agreement for XCode.  When I tried running setfile separately, It asked me to run throught the agreement.  Worked after that.

Cheers !!

elpabloB

New problem :-(

so I use  exiftool '-filecreatedate<createdate' -r .

and I now get Error - File Format error ?

I managed to get it to work for a single directory ... Clearly Im Missing something

elpabloB

Talking to myself now ha,

I get it. These files are Phone photos that have no Exif data. The others are updating in the background.

Phil Harvey

If you get "File Format error", then the file data doesn't correspond to the FileExtension.  I get this a lot when ExifTool processes the "._" files that MacOS writes for the resource fork on FAT32 filesystems if I am working from a memory card.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).