@@ -11,7 +11,7 @@ use strict;
1111use warnings;
1212require 5.004;
1313
14- my $version = ' 13.39 ' ;
14+ my $version = ' 13.40 ' ;
1515
1616$^W = 1; # enable global warnings
1717
@@ -1935,7 +1935,7 @@ if (@fileOrder) {
19351935# set file count for progress message
19361936$progressMax = scalar @files if defined $progress ;
19371937
1938- # store duplicate database information under absolute path
1938+ # store duplicate database information under absolute path and with standardized case
19391939my @dbKeys = keys %database ;
19401940if (@dbKeys ) {
19411941 if (eval { require Cwd }) {
@@ -1944,13 +1944,15 @@ if (@dbKeys) {
19441944 foreach (@dbKeys ) {
19451945 my $db = $database {$_ };
19461946 tr / \\/ \// and $database {$_ } = $db ; # allow for backslashes in SourceFile
1947+ $database {lc } = $db unless $database {lc }; # duplicate entry with lower case
19471948 # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
19481949 my $absPath = AbsPath($_ );
19491950 if (defined $absPath ) {
19501951 $database {$absPath } = $db unless $database {$absPath };
19511952 if ($verbose and $verbose > 1) {
19521953 print $vout " Imported entry for '${_}' (full path: '${absPath} ')\n " ;
19531954 }
1955+ $database {lc $absPath } = $db unless $database {lc $absPath };
19541956 } elsif ($verbose and $verbose > 1) {
19551957 print $vout " Imported entry for '${_}' (no full path)\n " ;
19561958 }
@@ -3259,10 +3261,18 @@ sub SetImageInfo($$$)
32593261 my $csvInfo = $database {$f };
32603262 unless ($csvInfo ) {
32613263 next if $f eq ' *' ;
3262- # check absolute path
3264+ # check absolute path and case-insensitive name
32633265 # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
32643266 my $absPath = AbsPath($f );
3265- next unless defined $absPath and $csvInfo = $database {$absPath };
3267+ if (defined $absPath and $database {$absPath }) {
3268+ $csvInfo = $database {$absPath };
3269+ } elsif ($database {lc $f }) {
3270+ $csvInfo = $database {lc $f };
3271+ } elsif (defined $absPath and $database {lc $absPath }) {
3272+ $csvInfo = $database {lc $absPath };
3273+ } else {
3274+ next ;
3275+ }
32663276 }
32673277 $found = 1;
32683278 if ($verbose ) {
@@ -5079,51 +5089,52 @@ supported by ExifTool (r = read, w = write, c = create):
50795089
50805090 File Types
50815091 ------------+-------------+-------------+-------------+------------
5082- 360 r/w | DPX r | J2C r | O r | RIFF r
5083- 3FR r | DR4 r/w/c | JNG r/w | ODP r | RSRC r
5084- 3G2 r/w | DSF r | JP2 r/w | ODS r | RTF r
5085- 3GP r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
5086- 7Z r | DV r | JSON r | OFR r | RWL r/w
5087- A r | DVB r/w | JXL r/w | OGG r | RWZ r
5088- AA r | DVR-MS r | K25 r | OGV r | RM r
5089- AAC r | DYLIB r | KDC r | ONP r | SEQ r
5090- AAE r | EIP r | KEY r | OPUS r | SKETCH r
5091- AAX r/w | EPS r/w | LA r | ORF r/w | SO r
5092- ACR r | EPUB r | LFP r | ORI r/w | SR2 r/w
5093- AFM r | ERF r/w | LIF r | OTF r | SRF r
5094- AI r/w | EXE r | LNK r | PAC r | SRW r/w
5095- AIFF r | EXIF r/w/c | LRV r/w | PAGES r | SVG r
5096- APE r | EXR r | M2TS r | PBM r/w | SWF r
5097- ARQ r/w | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
5098- ARW r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
5099- ASF r | FFF r/w | MAX r | PCD r | TNEF r
5100- AVI r | FITS r | MEF r/w | PCX r | TORRENT r
5101- AVIF r/w | FLA r | MIE r/w/c | PDB r | TTC r
5102- AZW r | FLAC r | MIFF r | PDF r/w | TTF r
5103- BMP r | FLIF r/w | MKA r | PEF r/w | TXT r
5104- BPG r | FLV r | MKS r | PFA r | VCF r
5105- BTF r | FPF r | MKV r | PFB r | VNT r
5106- C2PA r | FPX r | MNG r/w | PFM r | VRD r/w/c
5107- CHM r | GIF r/w | MOBI r | PGF r | VSD r
5108- COS r | GLV r/w | MODD r | PGM r/w | WAV r
5109- CR2 r/w | GPR r/w | MOI r | PLIST r | WDP r/w
5110- CR3 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
5111- CRM r/w | HDP r/w | MOV r/w | PMP r | WEBM r
5112- CRW r/w | HDR r | MP3 r | PNG r/w | WMA r
5113- CS1 r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
5114- CSV r | HEIF r/w | MPC r | PPT r | WPG r
5115- CUR r | HTML r | MPG r | PPTX r | WTV r
5116- CZI r | ICC r/w/c | MPO r/w | PS r/w | WV r
5117- DCM r | ICO r | MQV r/w | PSB r/w | X3F r/w
5118- DCP r/w | ICS r | MRC r | PSD r/w | XCF r
5119- DCR r | IDML r | MRW r/w | PSP r | XISF r
5120- DFONT r | IIQ r/w | MXF r | QTIF r/w | XLS r
5121- DIVX r | IND r/w | NEF r/w | R3D r | XLSX r
5122- DJVU r | INSP r/w | NKA r | RA r | XMP r/w/c
5123- DLL r | INSV r | NKSC r/w | RAF r/w | ZIP r
5124- DNG r/w | INX r | NRW r/w | RAM r |
5125- DOC r | ISO r | NUMBERS r | RAR r |
5126- DOCX r | ITC r | NXD r | RAW r/w |
5092+ 360 r/w | DR4 r/w/c | JP2 r/w | ODT r | RWL r/w
5093+ 3FR r | DSF r | JPEG r/w | OFR r | RWZ r
5094+ 3G2 r/w | DSS r | JSON r | OGG r | RM r
5095+ 3GP r/w | DV r | JXL r/w | OGV r | SEQ r
5096+ 7Z r | DVB r/w | K25 r | ONP r | SKETCH r
5097+ A r | DVR-MS r | KDC r | OPUS r | SO r
5098+ AA r | DYLIB r | KEY r | ORF r/w | SR2 r/w
5099+ AAC r | EIP r | LA r | ORI r/w | SRF r
5100+ AAE r | EPS r/w | LFP r | OTF r | SRW r/w
5101+ AAX r/w | EPUB r | LIF r | PAC r | SVG r
5102+ ACR r | ERF r/w | LNK r | PAGES r | SWF r
5103+ AFM r | EXE r | LRV r/w | PBM r/w | THM r/w
5104+ AI r/w | EXIF r/w/c | M2TS r | PCAP r | TIFF r/w
5105+ AIFF r | EXR r | M4A/V r/w | PCAPNG r | TNEF r
5106+ APE r | EXV r/w/c | MACOS r | PCD r | TORRENT r
5107+ ARQ r/w | F4A/V r/w | MAX r | PCX r | TTC r
5108+ ARW r/w | FFF r/w | MEF r/w | PDB r | TTF r
5109+ ASF r | FITS r | MIE r/w/c | PDF r/w | TXT r
5110+ AVI r | FLA r | MIFF r | PEF r/w | URL r
5111+ AVIF r/w | FLAC r | MKA r | PFA r | VCF r
5112+ AZW r | FLIF r/w | MKS r | PFB r | VNT r
5113+ BMP r | FLV r | MKV r | PFM r | VRD r/w/c
5114+ BPG r | FPF r | MNG r/w | PGF r | VSD r
5115+ BTF r | FPX r | MOBI r | PGM r/w | VSDX r
5116+ C2PA r | GIF r/w | MODD r | PLIST r | WAV r
5117+ CHM r | GLV r/w | MOI r | PICT r | WDP r/w
5118+ COS r | GPR r/w | MOS r/w | PMP r | WEBP r/w
5119+ CR2 r/w | GZ r | MOV r/w | PNG r/w | WEBM r
5120+ CR3 r/w | HDP r/w | MP3 r | PPM r/w | WMA r
5121+ CRM r/w | HDR r | MP4 r/w | PPT r | WMV r
5122+ CRW r/w | HEIC r/w | MPC r | PPTX r | WOFF r
5123+ CS1 r/w | HEIF r/w | MPG r | PS r/w | WOFF2 r
5124+ CSV r | HTML r | MPO r/w | PSB r/w | WPG r
5125+ CUR r | ICC r/w/c | MQV r/w | PSD r/w | WTV r
5126+ CZI r | ICO r | MRC r | PSP r | WV r
5127+ DCM r | ICS r | MRW r/w | QTIF r/w | X3F r/w
5128+ DCP r/w | IDML r | MXF r | R3D r | XCF r
5129+ DCR r | IIQ r/w | NEF r/w | RA r | XISF r
5130+ DFONT r | IND r/w | NKA r | RAF r/w | XLS r
5131+ DIVX r | INSP r/w | NKSC r/w | RAM r | XLSX r
5132+ DJVU r | INSV r | NRW r/w | RAR r | XMP r/w/c
5133+ DLL r | INX r | NUMBERS r | RAW r/w | ZIP r
5134+ DNG r/w | ISO r | NXD r | RIFF r |
5135+ DOC r | ITC r | O r | RSRC r |
5136+ DOCX r | J2C r | ODP r | RTF r |
5137+ DPX r | JNG r/w | ODS r | RW2 r/w |
51275138
51285139 Meta Information
51295140 ----------------------+----------------------+---------------------
@@ -6084,7 +6095,7 @@ with this command:
60846095
60856096produces output like this:
60866097
6087- -- Generated by ExifTool 13.39 --
6098+ -- Generated by ExifTool 13.40 --
60886099 File: a.jpg - 2003:10:31 15:44:19
60896100 (f/5.6, 1/60s, ISO 100)
60906101 File: b.jpg - 2006:05:23 11:57:38
0 commit comments