Exiftool Datetimeoriginal

Sep 08, 2015 $ exiftool '-FileModifyDateDateTimeOriginal' -overwriteoriginal PhotosCanon/. After that EXIF tags timestamps and filesystem timestamps were perfectly in line. Next up was renaming.

  1. $ exiftool -v '-DateTimeOriginalFileModifyDate'. Set EXIF date based on the file name If you have a file with the name foo20100.jpeg (which is in the format YYYYmmddHHMMSS), but the EXIF date is incorrect, you can update the EXIF date from the filename with: $ exiftool '-AllDates.
  2. If you wish to get DateTimeOriginal for only those files in a directory that have a value in the tag, use exiftool -if '$DateTimeOriginal' -DateTimeOriginal C:/path/to/dir. Any file that doesn't have a DateTimeOriginal will not be listed then.
  3. exiftool '-CreateDateFileModifyDate' MyVideo.mp4 To modify multiple files you can use wild-cards on the filename, like.mp4 to update all mp4 files in the current directory. Related, to update the file system time for image files to match the meta data: exiftool '-DateTimeOriginalFileModifyDate' MyPicture.jpg.
exiftool Application Documentation

exiftool - Read and write meta information in files

exiftool [OPTIONS] [-TAG..] [--TAG..] FILE..

Exiftool Datetimeoriginal

exiftool [OPTIONS] -TAG[+-<]=[VALUE].. FILE..

exiftool [OPTIONS] -TagsFromFileSRCFILE[-SRCTAG[>DSTTAG]..] FILE..

exiftool [ -ver-list[wfg[NUM] d] ]

For specific examples, see the EXAMPLES sections below.

A command-line interface to Image::ExifTool, used forreading and writing meta information in image, audio and video files.FILE is a source file name, directory name, or - for the standardinput. Information is read from the source file and output in readable formto the console (or written to an output text file with the -w option).

Download Adobe Photoshop CS5 Portable – This is an application used to edit photos on your computer. With its sophisticated features, this software’s workflow is relatively easy to operate for anyone. Either you are students or professionals. Maybe even elementary school kids. Download Adobe Photoshop CS5 Portable Windows 32 Bit 64 Bit. Download Adobe Photoshop CS5 Portable – Software yang digunakan untuk melakukan edit foto atau foto editing. Dengan ratusan fitur yang sangat canggih, aplikasi ini tetap memiliki workflow yang relatif mudah untuk siapapun. Photoshop CS5 Portable Photoshop CS5 Portable is a powerful raster graphics editor. It is a leader in the field of bitmap images. By downloading the latest version, you. Download Adobe Photoshop CS5 Portable Gratis PC. Free Download Photoshop CS5 Portable Final Windows 7- Aplikasi photoshop yang tanpa diinstall, tanpa menggunakan crack dan patch. Yang bisa dong karena sekarang ada aplikasi berbasis portable. Jadi penggunaan photoshop ini tanpa installasi sehingga semakin mudah. Adobe photoshop cs5 portable.

To write or copy information, new values are specified with the-TAG=[VALUE] syntax or the -TagsFromFile option. This causesFILE to be rewritten, and by default the original file is preserved with_original appended to the file name. (Be sure to verify that the newfile is OK before erasing the original.)

Below is a list of file types and meta information formats currentlysupported by ExifTool (r = read, w = write, c = create):

Note: If FILE is a directory name, then only file types with recognizedextensions are processed when reading, and only writable types are written.However, the -ext option may be used to force processing of files withany extension.

Case is not significant for any command-line option (including tag and groupnames), except for single-character options if the corresponding upper caseoption is defined. Multiple options may NOT be combined into a singleargument, because that would be interpreted as a tag name.

Extract information for specified tag (ie. -CreateDate). SeeImage::ExifTool::TagNames for documentation onavailable tag names. A tag name may include a leading group name separatedby a colon (ie. -XMP:Creator). Any family 0 or 1 group name may be used,and the group name may be prefixed by a digit to specify family number (ie.-1IPTC:Keywords). Use the -listg or -listg1 option to list validfamily 0 or 1 group names.

A special tag name of All may be used to indicate all meta information.This is particularly useful when a group name is specified to extract allinformation in a group. (* is a synonym for All, but must be quotedif used on the command line to prevent shell globbing.)

If no tags are specified, all available information is extracted.

Exclude specified tag from extracted information. Same as the -x option.May also be used following a -TagsFromFile option to exclude tags frombeing copied, or to exclude groups from being deleted when deleting allinformation (ie. -all= --exif:all deletes all but EXIF information).
Write a new value for the specified tag (ie. -comment=wow), or delete thetag if no VALUE is given (ie. -comment=). += and -= are used toadd or remove entries from a list, or to shift date/time values (seeImage::ExifTool::Shift.pl for details).

If a group name is not specified for TAG, then the information is writtento the preferred group, which is the first group in the following list whereTAG is valid: 1) EXIF, 2) IPTC, 3) XMP, 4) MakerNotes.

The special All tag may be used in this syntax only if a VALUE is NOTgiven. This causes all meta information to be deleted (or all informationin a group if -GROUP:All= is used). Note that not all groups aredeletable. Also, within an image some groups may be contained withinothers, and these groups are removed if the super group is deleted. Beloware lists of these group dependencies:

Set the value of a tag from the contents of file DATFILE. The file namemay also be given by a FMT string where %d, %f and %e represent thedirectory, file name and extension of the original FILE (see the -woption for more details). Note that quotes are required around thisargument to prevent shell redirection since it contains a < symbol.+<= or -<= may also be used to add or delete specific listentries, or to shift date/time values.
[email protected]ARGFILE
Read command-line arguments from the specified file. The file contains oneargument per line (NOT one option per line -- some options requireadditional arguments which must be placed on separate lines). Blank linesand lines beginning with # and are ignored. Normal shell processing ofarguments is not performed, which among other things means that argumentsshould not be quoted. ARGFILE may exist relative to either the currentdirectory or the exiftool directory unless an absolute pathname is given.

For example, the following ARGFILE will set the value of Copyright to``Copyright YYYY, Phil Harvey', where ``YYYY' is the year of CreateDate:

Allow duplicate tag names in the output. Without this option, duplicatesare suppressed.
Output requested data in binary format. Mainly used for extractingembedded images. Suppresses output of tag names and descriptions.
Set the print format for GPS coordinates. FMT uses the same syntax asthe printf format string. The specifiers correspond to degrees, minutesand seconds in that order, but minutes and seconds are optional. Forexample, the following table gives the output for the same coordinate usingvarious formats:
Set the format for date/time tag values. Consult strftime man pagefor FMT syntax. The default format is equivalent to ``%Y:%m:%d %H:%M:%S'.This option has no effect on date-only or time-only tags.

Exiftool Datetimeoriginal

Show tag ID number in Decimal.
Print existing tags only -- don't calculate composite tags.
Escape characters in output values for HTML. Implied with the -hoption.
-extEXT (or --extEXT)
Process only files with the specified extension, or use --ext to excludefiles. There may be multiple -ext and --ext options. Extensions maybegin with a leading '.', and case is not significant. For example:
Force printing of tags even if their values are not found.
Fix the base for maker notes offsets. A common problem with some imageeditors is that offsets in the maker notes are not adjusted properly whenthe file is modified. This may cause the wrong values to be extracted forsome maker note entries when reading the edited file. This option allows aninteger OFFSET to be specified for adjusting the maker notes base offset.If no OFFSET is given, ExifTool takes its best guess at the correct base.
Increase speed of extracting information from JPEG images. With thisoption, ExifTool will not scan to the end of a JPEG image to check for anAFCP or PreviewImage trailer. The speed benefits are small when readingimages directly from disk, but can be substantial if piping images through anetwork connection.
Organize output by tag group. NUM specifies the group family number,and may be 0 (general location), 1 (specific location) or 2 (category). Ifnot specified, -g0 is assumed. Use the -listg option to list allgroup names for a specified family.
Same as -g but print Group name for each tag.
Use HTML formatting for output. Implies -E option.
Show tag ID number in Hexadecimal.
Generate a dynamic web page containing a hex dump of the EXIF information.This can be a very powerful tool for low-level analysis of EXIF information.The -htmlDump option is also invoked if the -v and -h options areused together. The verbose level controls the maximum length of the blocksdumped. An OFFSET may be given to specify the base for displayedoffsets. If not provided, the EXIF/TIFF base offset is used. Use-htmlDump0 for absolute offsets. Currently only EXIF and TIFFinformation is dumped.
Ignore specified directory name. May be multiple -i options.
Specify a condition to be evaluated before processing each FILE. EXPRis a Perl-like expression containing tag names prefixed by $ symbols. Itis evaluated with the tags from each FILE in turn, and processingproceeds only if the expression returns true. Unlike Perl variable names,tag names are not case sensitive and may contain a hyphen or a leading groupname separated by a colon. When multiple -if options are used, allconditions must be satisfied to process the file. Below are a few examples:
Pause with the message -- press any key -- before terminating. Thisoption is used to prevent the command window from closing when run as aWindows drag and drop application.
Use long 2-line Canon-style output format.
Convert 16-bit Unicode characters in output to Windows Latin1 (cp1252)instead of the default UTF-8. When writing, -L is used to specify thatinput text values are Latin1 instead of UTF-8.

Exiftool Example Datetimeoriginal

-list, -listw, -listf, -listg[NUM], -listd
Print a list of all valid tag names (-list), all writable tag names(-listw), all recognized file extensions (-listf), all taggroups [in a specified family] (-listg[NUM]), or all deletabletag groups (-listd). The -list and -listw options may be followedby an additional argument of the form -GROUP:All to list all tags in aspecific group. With -listg, NUM may be given to specify the groupfamily, otherwise family 0 is assumed. For example:
Ignore minor errors. Allows writing if some minor errors occur, orextraction of embedded images that aren't in standard JPG format.
Read and write values as numbers instead of words. This option disablesthe print conversion that is applied when extracting values to make themmore readable, and the inverse print conversion when writing. For example:

and the following two writing commands have the same effect

Set the output file or directory name when writing information. (Withoutthis option, the original file is renamed to FILE_original and output issent to FILE.) The output file name may also be specified using a FMTstring in which %d, %f and %e represent the directory, file name andextension of FILE. Also, %c may be used to add a copy number. See the-w option for FMT string examples.

The output file is taken to be a directory name if it already exists as adirectory or if the name ends with '/'. Output directories are created ifnecessary. Existing files will not be overwritten. Combining the-overwrite_original option with -o causes the original source file tobe erased after the output file is successfully written.

A special feature of this option allows it to be used to create certaintypes of files from scratch. Currently, this can only be done with XMP andICC/ICM files. The file is created from a combination of information inFILE and tag values assigned on the command line. This is done byspecifying a file extension of '.XMP', '.ICC' or '.ICM' for OUTFILE. Theoutput file may be created even if no FILE is specified, provided someappropriate tag values are specified on the command line.

Overwrite the original FILE (instead of preserving it by adding_original to the file name) when writing information to an image.Caution: This option should only be used if you already have separate backupcopies of your image files.
Similar to the -overwrite_original option except that an extra step isadded to allow the original file attributes to be preserved. On a Macintoshfor example, this preserves the original file type, creator and icon. Theextra step results in slower performance, so the -overwrite_originaloption should be used instead unless necessary.
Print output in the format specified by the given file or string (andignore other format options). Tag names in the format file or string beginwith a $ symbol and may contain an optional group name. Case is notsignificant. Braces {} may be used around the tag name to separate itfrom subsequent text. Use $$ to represent a $ symbol. In the file,lines beginning with # are ignored. For example, this format file:

produces output like this:

If a tag does not exist, the output value is set to '-' if the -f optionis used. Otherwise a minor warning is issued and the line with the missingtag is not printed. However, if the -m option is used, minor warningsare ignored and the line is printed with an empty tag value.

Exiftool datetimeoriginal by johnDatetimeoriginal
Preserve date/time of original file when writing.
Quiet processing. One -q suppresses normal informational messages,and a second -q suppresses warnings as well. Error messages can not besuppressed, although minor errors may be downgraded to warnings with the-m option.
Recursively scan subdirectories. Only meaningful if FILE is adirectory name.
Print tag names instead of descriptions. This is the short outputformat. Add up to 3 -s options for even shorter formats. Also effectivewhen combined with -t or -h options.
Very short format. The same as two -s options. Extra spaces usedto column-align values are not printed.
Output a tab-delimited list of description/values (useful for databaseimport). May be combined with -s to print tag names instead ofdescriptions, or -S to print tag values only, tab-delimited on a singleline.
-TagsFromFileSRCFILE or FMT
Copy tag values from SRCFILE to FILE. Tag names on the command lineafter this option specify the tags to be copied, or excluded from the copy.If no tags are specified, then all tags from the source file are copied.More than one -TagsFromFile option may be used to copy tags from multiplefiles.

By default, this option will commute information between same-named tags indifferent groups and write each tag to the preferred group. This allowsinformation to be automatically translated when copying between images ofdifferent formats. However, if a group name is specified for a tag then theinformation is written to the original group (unless redirected to anothergroup, see below). This works even if All is used as a group name, so-All:All is used to specify that all information be copied to the samegroup in the destination file.

SRCFILE may be the same as FILE to move information around within afile. In this case, @ may be used to represent the source file (ie.-TagsFromFile @), permitting this feature to be used for batch processingmultiple files (see note 3 below). Specified tags are then copied from eachfile in turn as it is rewritten. For advanced batch use, the source filename may also be specified using a FMT string in which %d, %f and %erepresent the directory, file name and extension of FILE. See -woption for FMT string examples.

A powerful redirection feature allows a destination tag to be specified foreach extracted tag. With this feature, information may be written to a tagwith a different name or group. This is done using'-SRCTAG>DSTTAG' on the command line after-TagsFromFile ('-DSTTAG<SRCTAG' also works).Note that this argument must be quoted to prevent shell redirection, andthere is no = sign as when setting new values. Both source anddestination tags may be prefixed by a group name, and All or * may beused as a tag or group name. If no destination group is specified, theinformation is written to the preferred group. As a convenience,-TagsFromFile @ is assumed for any redirected tags which are specifiedwithout a prior -TagsFromFile option. Copied tags may also be added ordeleted from a list with arguments of the form'-SRCTAG+>DSTTAG' or'-SRCTAG->DSTTAG'.

An extension of the redirection feature allows strings involving tag namesto be used on the right hand side of the < symbol with the syntax'-DSTTAG<STR', where tag names in STR areprefixed with a $ symbol. See the -p option for more details aboutthis syntax. Strings starting with a = sign must insert a single spaceafter the < to avoid confusion with the <= syntax which wouldotherwise attempt to set the tag value from the contents of a file. Asingle space at the start of the string is removed if it exists, but allother whitespace is preserved.

See COPYING EXAMPLES for examples using -TagsFromFile.


1) Be aware of the difference between excluding a tag from being copied(--TAG), and deleting a tag (-TAG=). Excluding a tag prevents it frombeing copied to the destination image, but deleting will remove apre-existing tag from the image.

2) The maker note information is copied as a block, so it isn't affectedlike other information by subsequent tag assignments on the command line.Also, since the PreviewImage referenced from the maker notes may be ratherlarge, it is not copied, and must be transferred separately if desired.

3) When performing complex batch processing, it is important to note thatthe order of operations is different for tags copied in batch mode. Ingeneral, tags are copied from batch-mode files after all other command-linearguments have been applied. (The exception is that a group delete isalways performed last if there are no subsequent tag assignments on thecommand line.) For example, the following two commands are not equivalent:

Extract values of unknown tags. Add another -u to also extractunknown information from binary data blocks.
Extract values of unknown tags as well as unknown information from binarydata blocks. This is the same as two -u options.
Print verbose messages. NUM specifies the level of verbosity in therange 0-5, with higher numbers being more verbose. If NUM is not given,then each -v option increases the level of verbosity by 1. This optionsuppresses normal console output unless specific tags are being extracted.-v0 is used when writing to print only the processed file names.
Print version number and exit.
-wEXT or FMT
Write console output to a file with name ending in EXT for each sourcefile. The output file name is obtained by replacing the source fileextension (including the '.') with the specified extension (and a '.' isadded to the start of EXT if it didn't contain one). Alternatively, aFMT string may be used to give more control over the output file name anddirectory. In the format string, %d, %f and %e represent the directory,filename and extension of the source file, and %c represents a copy numberwhich is automatically incremented if the file already exists. %d includesthe trailing '/' if necessary, but %e does not include the leading '.'. Forexample:

Existing files will not be overwritten, and output directories are createdautomatically if necessary.

Note: In a Windows BAT file the '%' character is represented by ``%%', soan argument like ``%d%f.txt' is written as ``%%d%%f.txt'.

Advanced features: A substring of the original file name, directory orextension may be taken by specifying a field width immediately following the'%' character. If the width is negative, the substring is taken from theend. The substring position (characters to ignore at the start or end ofthe string) may be given by a second optional value after a decimal point.For example:

For %c, these modifiers have a different effects. If a field width isgiven, the copy number is padded with zeros to the specified width. Aleading '-' adds a dash before the copy number, and a '+' adds an underline.By default, a copy number of zero is omitted, but this can be changed byadding a decimal point to the modifier. For example:

All format codes may also be modified by 'l' or 'u' to specify lower orupper case respectively (ie. ``%le' for a lower case file extension). Whenused to modify the copy number, the numbers are changed to an alphabeticalbase (ie. as with ``%lc' in the last example above).

This same FMT syntax is used with the -o and -TagsFromFile options,although %c is only valid for output file names.

Exclude the specified tag. There may be multiple -x options. Thishas the same effect as --TAG on the command line. May also be usedfollowing a -TagsFromFile option to exclude tags from being copied.
When reading, causes information to be extracted from .gz and .bz2compressed images. (Only one image per archive.) When writing, causescompressed information to be written if supported by the image format. (ie.The PNG format supports compressed text.)

Advanced Options

The following options allow complex processing to be performed with a singlecommand without the need for additional scripting. This may be particularlyuseful for implementations such as Windows drag-and-drop applications.These options may also be used to improve performance in multi-passprocessing by reducing the overhead required to load exiftool for eachinvocation.

Specifies that all arguments following this option are common to allexecuted commands when -execute is used. This is the only option thatmay not be used inside a [email protected]ARGFILE.
Execute command for all arguments up to this point on the command line.Allows multiple commands to be executed from a single command line.
Specify a different source file to be processed based on the name of theoriginal file. This may be useful in some special situations for processingrelated preview images or sidecar files. See the -w option for adescription of the FMT syntax. Note that file name FMT strings forall options are based on the original file name specified on the commandline, not the name of the source file specified by -srcfile.
exiftool -a -u -g1 a.jpg
Print all meta information in an image, including duplicate and unknowntags, sorted by group (for family 1).
exiftool -common dir
Print common meta information for all images in dir.
exiftool -s -ImageSize -ExposureTime b.jpg
Print ImageSize and ExposureTime tag names and values.
exiftool -l -canon c.jpg d.jpg
Print standard Canon information from two image files.
exiftool -r -w .txt -common pictures
Recursively extract common meta information from files in picturesdirectory, writing text output into files with the same names but with a.txt extension.
exiftool -p '$filename has date $dateTimeOriginal' -q -f dir
Print one line of output containing the file name and DateTimeOriginal foreach image in directory dir.
exiftool -b -ThumbnailImage image.jpg > thumbnail.jpg
Save thumbnail image from image.jpg to a file called thumbnail.jpg.
exiftool -b -PreviewImage 118_1834.JPG > preview.jpg
Extract preview image from JPG file and write it to preview.jpg.
exiftool -b -JpgFromRaw -w _JFR.JPG -ext CRW -r .
Recursively extract JPG image from all Canon CRW files in the currentdirectory, adding _JFR.JPG for the name of the output JPG files.
exiftool -d '%r %a, %B %e, %Y' -DateTimeOriginal -S -s *.jpg
Print formatted date/time for all JPG files in a directory.
exiftool -IFD1:XResolution -IFD1:YResolution
Extract image resolution from EXIF IFD1 information (thumbnail image IFD).
exiftool -xmp -b a.jpg > out.xmp
Extract complete XMP data record intact from a.jpg and write it toout.xmp using the special XMP tag (see the Extra tags inImage::ExifTool::TagNames).
exiftool -icc_profile -b -w icc image.jpg
Save complete ICC_Profile from an image to an output file with the same nameand an extension of .icc.
exiftool -htmldump -w tmp/%f_%e.html t/images
Generate HTML pages from a hex dump of EXIF information in all images fromthe t/images directory. The output HTML files are written to the tmpdirectory (which is created if it didn't exist), with names of the form'FILENAME_EXT.html'.

Note that quotes are necessary around arguments which contain certainspecial characters such as >, < or any white space. Thesequoting techniques are shell dependent, but the examples below will work formost Unix shells. With the Windows cmd shell however, double quotes shouldbe used (ie. -Comment=``This is a new comment').

exiftool -Comment='This is a new comment' dst.jpg
Write new comment to a JPG image (replaces any existing comment).
exiftool -comment= -o newdir *.jpg
Remove comment from all JPG images in the current directory, writing themodified images to a new directory.
exiftool -keywords=EXIF -keywords=editor dst.jpg
Replace existing keyword list with two new keywords (EXIF and editor).
exiftool -Keywords+=word -o newfile.jpg src.jpg
Copy a source image to a new file, and add a keyword (word) to thecurrent list of keywords.
exiftool -credit-=xxx dir
Delete Credit information from all files in a directory where the Creditvalue was (xxx).
exiftool -all= dst.jpg
Delete all meta information from an image.
exiftool -all= -comment='lonely' dst.jpg
Delete all meta information from an image and add a comment back in. (Notethat the order is important: -comment='lonely' -all= would also deletethe new comment.)
exiftool -all= --jfif:all dst.jpg
Delete all meta information except JFIF group from an image.
exiftool -Photoshop:All= dst.jpg
Delete Photoshop meta information from an image (note that the Photoshopinformation also includes IPTC).
exiftool '-ThumbnailImage<=thumb.jpg' dst.jpg
Set the thumbnail image from specified file (Note: The quotes are neccessaryto prevent shell redirection).
exiftool '-JpgFromRaw<=%d%f_JFR.JPG' -ext CRW -r .
Recursively write JPEG images with filenames ending in _JFR.JPG to theJpgFromRaw tag of like-named files with extension .CRW in the currentdirectory. (This is the inverse of the -JpgFromRaw command of theREADING EXAMPLES section above.)
exiftool -DateTimeOriginal-='0:0:0 1:30:0' dir
Adjust original date/time of all images in directory dir by subtractingone hour and 30 minutes. (This is equivalent to -DateTimeOriginal-=1.5.See Image::ExifTool::Shift.pl for details.)
exiftool -createdate+=3 -modifydate+=3 a.jpg b.jpg
Add 3 hours to the CreateDate and ModifyDate timestamps of two images.
exiftool -AllDates+=1:30 -if '$make eq ``Canon'' dir
Shift the values of DateTimeOriginal, CreateDate and ModifyDate forward by 1hour and 30 minutes for all Canon images in a directory. (The AllDates tagis provided as a shortcut for these three tags, allowing them to be accessedvia a single tag.)
exiftool -xmp:city=Kingston image1.jpg image2.nef
Write a tag to the XMP group of two images. (Without the xmp: this tagwould get written to the IPTC group since City exists in both, and IPTCis preferred by default.)
exiftool -LightSource-='Unknown (0)' dst.tiff
Delete LightSource tag only if it is unknown with a value of 0.
exiftool -whitebalance-=auto -WhiteBalance=tung dst.jpg
Set WhiteBalance to Tungsten only if it was previously Auto.
exiftool -o %d%f.xmp dir
Create XMP meta information data files for all images in dir.
exiftool -o test.xmp -owner=Phil -title='XMP File'
Create an XMP data file only from tags defined on the command line.
exiftool '-ICC_Profile<=%d%f.icc' image.jpg
Write ICC_Profile to an image from a .icc file of the same name.

These examples demonstrate the ability to copy tag values between files.

exiftool -TagsFromFile src.crw dst.jpg
Copy the values of all writable tags from src.crw to dst.jpg, writingthe information to the preferred groups.
exiftool -TagsFromFile src.jpg -all:all dst.jpg
Copy the values of all writable tags from src.jpg to dst.jpg,preserving the original tag groups.
exiftool -all= -tagsfromfile src.jpg -exif:all dst.jpg
Erase all meta information from dst.jpg image, then copy EXIF tags fromsrc.jpg.
exiftool -tagsfromfile a.jpg out.xmp
Copy meta information a.jpg to an XMP data file. If the XMP data fileout.xmp already exists, it will be updated with the new information.Otherwise the XMP data file will be created. Only XMP, ICC and MIE filesmay be created like this (other file types may be edited but not created).See WRITING EXAMPLES above for another technique to generate XMP files.
exiftool -tagsFromFile a.jpg -XMP:All= -ThumbnailImage= -m b.jpg
Copy all meta information from a.jpg to b.jpg, deleting all XMPinformation and the thumbnail image from the destination.
exiftool -TagsFromFile src.jpg -title -author=Phil dst.jpg
Copy title from one image to another and set a new author name.
exiftool -TagsFromFile a.jpg -ISO -TagsFromFile b.jpg -commentdst.jpg
Copy ISO from one image and Comment from another image to a destinationimage.
exiftool -tagsfromfile src.jpg -exif:all --subifd:all dst.jpg
Copy only the EXIF information from one image to another, excluding SubIFDtags.
exiftool '-DateTimeOriginal>FileModifyDate' dir
Use the original date from the meta information to set the same file'sfilesystem modification date for all images in a directory. (Note that-TagsFromFile @ is assumed if no other -TagsFromFile is specified whenredirecting information as in this example.)
exiftool -TagsFromFile src.jpg '-all>xmp:all' dst.jpg
Copy all possible information from src.jpg and write in XMP format todst.jpg.
exiftool -tagsFromFile a.jpg [email protected] iptc2xmp.args -iptc:all= a.jpg
Translate IPTC information to XMP with appropriate tag name conversions, anddelete the original IPTC information from an image. This example usesiptc2xmp.args, which is a file included with the ExifTool distribution thatcontains the required arguments to convert IPTC information to XMP format.Also included with the distribution is xmp2iptc.args, which performs theinverse conversion.
exiftool -tagsfromfile %d%f.CRW -r -ext JPG dir
Recursively rewrite all JPG images in dir with information copied fromthe corresponding CRW images in the same directories.
exiftool '-make+>keywords' image.jpg
Add camera make to list of keywords.
exiftool '-comment<ISO=$exif:iso Exposure=${shutterspeed}' dir
Set the Comment tag of all images in dir from the values of the EXIF:ISOand ShutterSpeed tags. The resulting comment will be in the form ``ISO=100Exposure=1/60'.
exiftool -TagsFromFile src.jpg -icc_profile dst.jpg
Copy ICC_Profile from one image to another.
exiftool -if '$jpgfromraw' -b -jpgfromraw -w %d%f_%ue.jpg -execute-if '$previewimage' -b -previewimage -w %d%f_%ue.jpg -execute-tagsfromfile @ -srcfile %d%f_%ue.jpg -overwrite_original-common_args --ext jpg DIR
[Advanced] Extract JpgFromRaw or PreviewImage from all but JPG files in DIR,saving them with file names like image_EXT.jpg, then add all metainformation from the original files to the extracted images. Here, thecommand line is broken into three sections (separated by -executeoptions), and each is executed as if it were a separate command. The-common_args option causes the --ext jpg DIR arguments to be appliedto all three commands, and the -srcfile option allows the extracted JPGimage to be the source file for the third command (whereas the RAW files arethe source files for the other two commands).

By writing the FileName and Directory tags, files are renamed and/ormoved to new directories. This can be particularly useful and powerful fororganizing files by date when combined with the -d option. Newdirectories are created as necessary, but existing files will not beoverwritten. The format codes %d, %f and %e may be used in the new filename to represent the directory, name and extension of the original file,and %c may be used to add a copy number if the file already exists (see the-w option for details). Note that if used within a date format string,an extra '%' must be added to pass these codes through the date/time parser.(And further note that in a Windows batch file, all '%' characters must alsobe escaped, so in this extreme case '%%%%f' is necessary to pass a simple'%f' through the two levels of parsing.)

exiftool -filename=new.jpg dir/old.jpg
Rename old.jpg to new.jpg in directory dir.
exiftool -directory=%e dir
Move all files from directory dir into directories named by the originalfile extensions.
exiftool '-Directory<DateTimeOriginal' -d %Y/%m/%d dir
Move all files in dir into a directory hierarchy based on year, month andday of DateTimeOriginal. ie) This command would move the filedir/image.jpg with a DateTimeOriginal of 2005:10:12 16:05:56 to2005/10/12/image.jpg.
exiftool '-filename<%f_${focallength}.%e' dir
Rename all files in dir by adding FocalLength to the file name.
exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e dir
Rename all images in dir according to the CreateDate date and time,adding a copy number with leading '-' if the file already exists (%-c),and preserving the original file extension (%e). Note the extra '%'necessary to escape the filename codes (%c and %e) in the date formatstring.
exiftool -r '-FileName<CreateDate' -d %Y-%m-%d/%H%M_%%f.%%e dir
Both the directory and the filename may be changed together via theFileName tag if the new FileName contains a '/'. The example aboverecursively renames all images in a directory by adding a CreateDatetimestamp to the start of the filename, then moves them into new directoriesnamed by date.
exiftool '-FileName<${CreateDate}_$filenumber.jpg' -d %Y%m%d dir/*.jpg
Set the filename of all JPG images in the current directory from theCreateDate and FileNumber tags, in the form ``20060507_118-1861.jpg'.
cat a.jpg exiftool -
Extract information from stdin.
exiftool image.jpg -thumbnailimage -b exiftool -
Extract information from an embedded thumbnail image.
cat a.jpg exiftool -iptc:keywords+=fantastic - > b.jpg
Add an IPTC keyword in a pipeline, saving output to a new file.
wget -qO - http://a.domain.com/bigfile.jpg exiftool -fast -
Extract information from an image over the internet using the GNU wgetutility. The -fast option prevents exiftool from scanning for trailerinformation, so only the meta information header is transferred.
exiftool a.jpg -thumbnailimage -b exiftool -comment=wow - exiftool a.jpg -thumbnailimage'<=-'
Add a comment to an embedded thumbnail image. (Why anyone would want to dothis I don't know, but I've included this as an example to illustrate theflexibility of ExifTool.)

ExifTool does not handle information stored in the resource fork onMacintosh filesystems.

Copyright 2003-2007, Phil Harvey

This is free software; you can redistribute it and/or modify it under thesame terms as Perl itself.


exiftool Application Documentation
I would like to use the ExifTool field <ExifTool:DateTimeOriginal> to define my output folder paths. I would like the path to be in the following format:
By using the following pattern;
I am only able to acheive the following format;
C:basedirYYYY_MM_DD hh_mm_ss
I want to be able to remove the time , underscores and space from this and add an additional subdirectory 'YYYY' also.
As far as I have been able to determine, this is not possible. Please correct me if I am wrong.
With the standard dates I would be able to use <Year>, <Month>, <Day> fields but these are not available for the ExifTool date-time fields.
When using the ExifTool fields for renaming files I am able to work around this by adding the ExifTool field and then using a 'replace' method with regular expressions to remove/extract the relevant string info. This method is not available when defining the output folder pattern.
I thought it might have been possible to prepend the subfolder paths to the beginning of the generated file name instead of defining it in the output folder but this gives the error that ' is not supported in filenames. This might be a potential workaround if this could be allowed in future versions.
Another possibility might be to include a method list for generating the output folder in a similar way that the method list is used for renaming files.
Another option could be to provide for some form of 'replace' rule when adding an ExifTool field.
Please let me know if I am off track and there is already and existing method for producing what I am trying to achieve.