A very powerful and flexible photo EXIF manipulation utility is ExitTool , available from the Author's site . This syntax appears to set the file date to the photo date:
**exiftool '-DateTimeOriginal>FileModifyDate' dir**
"Use the original date from the meta information to set the same file's filesystem modification date for all images in a directory. "
Update: Since the question has changed, ExifTool can also be used to set the internal photo meta data date to the actual photo date. I scanned many files and placed them in folders named with the name of the date the photos were taken. I could then set a batch file to mass update all internal photo dates. For example, this would set the internal Exif tag on all scanned photos in the folder '1981-07-01' to the specified date below.
ExifTool.pl -overwrite_original "-DateTimeOriginal=1981:07:01 00:00:00" .\1981-07-01
This could be followed by the command above to set the file date as well.
EXIF data is internal to the file and is completely independent from the system file dates unless they are manually set to match. This is partly by design - normally a camera sets the photo date Exif tag when the photo is taken. The photo may be edited multiple times which will update the lastModified date, but good photo software reads and sorts by internal Exif file date based on when the photo was taken.