diff options
Diffstat (limited to 'windows_exiftool')
-rwxr-xr-x | windows_exiftool | 55 |
1 files changed, 32 insertions, 23 deletions
diff --git a/windows_exiftool b/windows_exiftool index dc556a31..5baea165 100755 --- a/windows_exiftool +++ b/windows_exiftool @@ -11,7 +11,7 @@ use strict; use warnings; require 5.004; -my $version = '12.49'; +my $version = '12.50'; # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool' my $exePath; @@ -1023,8 +1023,12 @@ for (;;) { } if (/^if(\d*)$/i) { my $cond = shift; - $fastCondition = $1 if length $1; + my $fast = length($1) ? $1 : undef; defined $cond or Error("Expecting expression for -if option\n"), $badCmd=1, next; + # use lowest -fast setting if multiple conditions + if (not @condition or not defined $fast or (defined $fastCondition and $fastCondition > $fast)) { + $fastCondition = $fast; + } # prevent processing file unnecessarily for simple case of failed '$ok' or 'not $ok' $cond =~ /^\s*(not\s*)\$ok\s*$/i and ($1 xor $rtnValPrev) and $failCondition=1; # add to list of requested tags @@ -5494,7 +5498,7 @@ OPTIONS produces output like this: - -- Generated by ExifTool 12.49 -- + -- Generated by ExifTool 12.50 -- File: a.jpg - 2003:10:31 15:44:19 (f/5.6, 1/60s, ISO 100) File: b.jpg - 2006:05:23 11:57:38 @@ -5915,12 +5919,15 @@ OPTIONS images directly from disk, but can be substantial if piping images through a network connection. For more substantial speed benefits, -fast2 also causes exiftool to avoid extracting any EXIF MakerNote - information. -fast3 avoids extracting metadata from the file, and - returns only pseudo System tags, but still reads the file header to - obtain an educated guess at FileType. -fast4 doesn't even read the - file header, and returns only System tags and a FileType based on - the file extension. -fast5 also disables generation of the - Composite tags (like -e). Has no effect when writing. + information, and to stop processing at the IDAT chunk of PNG images + and the mdat atom of QuickTime-format files (but note that some + files may store metadata after this). -fast3 avoids extracting + metadata from the file, and returns only pseudo System tags, but + still reads the file header to obtain an educated guess at + FileType. -fast4 doesn't even read the file header, and returns + only System tags and a FileType based on the file extension. -fast5 + also disables generation of the Composite tags (like -e). Has no + effect when writing. Note that a separate -fast setting may be used for evaluation of a -if condition, or when ordering files with the -fileOrder option. @@ -5939,14 +5946,15 @@ OPTIONS (eg. "-fileOrder -createdate"). Print conversion of the sorted values is disabled with the -n option, or a "#" appended to the tag name. Other formatting options (eg. -d) have no effect on the - sorted values. Note that the -fileOrder option can have a large - performance impact since it involves an additional processing pass - of each file, but this impact may be reduced by specifying a *NUM* - for the -fast level used during the metadata-extraction phase. For - example, -fileOrder4 may be used if *TAG* is a pseudo System tag. - If multiple -fileOrder options are used, the extraction is done at - the lowest -fast level. Note that files are sorted across directory - boundaries if multiple input directories are specified. + sorted values. Note that the -fileOrder option can incur large + performance penalty since it involves an additional initial + processing pass of all files, but this impact may be reduced by + specifying a *NUM* to effectively set the -fast level for the + initial pass. For example, -fileOrder4 may be used if *TAG* is a + pseudo System tag. If multiple -fileOrder options are used, the + extraction is done at the lowest -fast level. Note that files are + sorted across directory boundaries if multiple input directories + are specified. -i *DIR* (-ignore) Ignore specified directory name. *DIR* may be either an individual @@ -6280,12 +6288,13 @@ OPTIONS When combined with -listx, the -s option shortens the output by omitting the descriptions and values (as in the last example - above), and -f adds a 'flags' attribute if applicable. The flags - are formatted as a comma-separated list of the following possible - values: Avoid, Binary, List, Mandatory, Permanent, Protected, - Unknown and Unsafe (see the Tag Name documentation). For XMP List - tags, the list type (Alt, Bag or Seq) is added to the flags, and - flattened structure tags are indicated by a Flattened flag. + above), and -f adds 'flags' and 'struct' attributes if applicable. + The flags are formatted as a comma-separated list of the following + possible values: Avoid, Binary, List, Mandatory, Permanent, + Protected, Unknown and Unsafe (see the Tag Name documentation). For + XMP List tags, the list type (Alt, Bag or Seq) is added to the + flags, and flattened structure tags are indicated by a Flattened + flag with 'struct' giving the ID of the parent structure. Note that none of the -list options require an input *FILE*. |