wrong behaviour when file name contains single quote and path is absolute

Started by goza, November 21, 2022, 07:00:44 PM

Previous topic - Next topic

goza

I am using this forum as I did not find any other way to post this bug report  :(

context: Windows 10, exiftool 10.1, running from bash of git version 2.32.0.windows.2
bug: exiftool can't process the file containing "'" when given path is absolute (starting by /)
scenario: 2 identical files, one of name containing "'"


$ ls -ln $PWD/name_*
-rw-r--r-- 1 197609 197121 1391598 Nov 21 23:44 "/d/temp/name_with_single_quote's"
-rw-r--r-- 1 197609 197121 1391598 Nov 22 00:24  /d/temp/name_without_quote

$ exiftool -filename /d/temp/name_*
File not found: /d/temp/name_with_single_quote's
======== D:/temp/name_without_quote
File Name                       : name_without_quote
    1 image files read
    1 files could not be read
# any other ways of relative pathes are processed ok:
$ exiftool -filename d:/temp/name_*
======== d:/temp/name_with_single_quote's
File Name                       : name_with_single_quote's
======== d:/temp/name_without_quote
File Name                       : name_without_quote
    2 image files read

$ exiftool -filename ./name_*
======== ./name_with_single_quote's
File Name                       : name_with_single_quote's
======== ./name_without_quote
File Name                       : name_without_quote
    2 image files read

$ exiftool -filename name_*
======== name_with_single_quote's
File Name                       : name_with_single_quote's
======== name_without_quote
File Name                       : name_without_quote
    2 image files read

$ exiftool -filename "name_with_single_quote's" name_without_quote
======== name_with_single_quote's
File Name                       : name_with_single_quote's
======== name_without_quote
File Name                       : name_without_quote
    2 image files read


Thanks, Goza

Phil Harvey

Hi Goza,

Can you verify that this problem still occurs with the latest ExifTool (12.51)?  Version 10.1 is very old.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

goza

#2
Unfortunately the wrong behaviour is reproducible on 12.51 as well:
$ exiftool -ver
12.51


$ exiftool -filename name_*
======== name_with_single_quote's
File Name                      : name_with_single_quote's
======== name_without_quote
File Name                      : name_without_quote
    2 image files read

$ exiftool -filename $PWD/name_*
Error: File not found - /d/temp/name_with_single_quote's
======== D:/temp/name_without_quote
File Name                      : name_without_quote
    1 image files read
    1 files could not be read