[Windows] I have gone through the documentation multiple times. I've read about batch processing, et al, but I'm just not getting one fact:
exiftool -DateTimeOriginal="%tmpDate% %tmpTime%" %tmpPic%*
On this command line, I want to update all files in "tmpPic". Is this correct or is there something "better" (more efficient, et al)?
My desire is to update all files in any given directory, with a specific date. I have the date in YYYY-MM-DDE format at the front of every single directory (OCD, thank you). The BAT file I would write will pull the YYYY, MM and DD and send it to exiftool to process all files inside with the date on the folder - effectively causing the files to have proper "Date Taken" dates for sites like Google Photos.
Folder: 2015-08-23 My kids having fun
Files therein would all get Dates of "2015:08:23".
Any thoughts? Thanks!! 8)
I'm heading for bed atm, so I can't go into too much detail, but it should be possible to do all that without using a batch file and it would probably be much quicker.
My first thought, though, is that you might want to check to make sure that DateTimeOriginal doesn't already have data in it before overwriting it. Nearly all modern camera write this data when they write the image to a file, so unless something else has happened, you shouldn't need to modify it. You can skip files that already have that tag by adding -if "Not $DateTimeOriginal" to your command.
Grabbing the date from the folder can be done with "-DateTimeOriginal<{$Directory;s/(\d{4})-(/d/d)-(/d/d)/$1:$2:$3/} " but that would be missing the time part of the DateTimeOriginal tag. So the question there is where are you grabbing the %tmpTime% variable from? If you're just setting it to a value, like 00:00:00, then you can just add that in just before the quote. Since this uses tag redirection (<) instead of assignment (=), that whole part needs to be enclosed in double quotes on Windows.
Here's (https://exiftool.org/forum/index.php?topic=7272.0) a previous example of a similar question. They were scanning pictures, though, so there wasn't a DateTimeOriginal tag to begin with.