Irfanview and jhead will both do what you want.
Links to both below.
jhead is command line driven or can be called by other processes.
Irfanview version can be invoked from a command line or internally in a batch or on a file by file basis.
Irfanview allows command line or batch or per file date/time transfer from EXIF to file spec or vice versa (with no other file changes if so desired).
Source: Free from www.irfanview.com
Batch "save with original date/time".
This will set file date and time to camera EXIF values.
- File / batch / Add all.
Advanced / Save files with original date/time
From command line - this is a "rotate" with NO action except to copy date/time from EXIF to file date and time. The opposite can also be achieved if desired. :
- i_view32.exe file_spec\*.jpg /jpg_rotate=(0,0,0,1,0,0,0,0)
To copy date/time in opposite direction ((filespec to EXIF) use as above with (0,0,1,0,0,0,0,0)
jhead will do just about anything you can imagine with jpeg files
Source: Free from http://www.sentex.net/~mwandel/jhead/
I use a batch file as below. Other options are possible:
They say: Things jhead can modify in an exif jpeg file
- Up-right images according to rotation tag using jpegtran
Set or relative adjust internal exif timestamps
Fix date / time offsets in large batches of images
Re-name or date stamp files according to exif timestamp
Transfer exif headers between images
Replace thumbnails inside Exif headers
Edit jpeg comments (but not the Exif comments)
Delete exif or comment sections from jpeg images
Create new minimal exif header containing date and thumbnail