Win32/FindFile error using ExifTool 9.81

Started by Thomas, January 12, 2015, 05:46:20 PM

Previous topic - Next topic

Phil Harvey

Hi Thomas,

I finally got a chance to test this on Windows.  I don't know why I didn't notice the quotes around the file name in your myfiles.txt file earlier, but that would definitely cause the problem.  You should not use quotes in the -@ argfile.

- 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 ($).

Thomas

Hi, Phil,

that's it! Thank you very much!

I'm just wondering why in Windows I usually need quotes when using blanks in directory names but not in the @ argfile...

And if I had a wish free I'd put forward the idea of having the -charset option work with wildcards in path names. It's more complicated to use -if and -ext statements but more important, it lowers process performance in terms of speed considerably. I understand that you have loads of other work, so I just mention it in the case you consider including it in one of the next versions.

Kind regards,
Thomas.

Phil Harvey

Hi Thomas,

The command line is processed by the command-line interpreter, not ExifTool, so you must follow its quoting rules.  The argfile is processed by ExifTool, and my rules are simpler.

Accepting wildcards is unfortunately a limitation of the libraries that I am using to list directory contents.  Wildcards are handled by the command-line interpreter on Mac and Linux, but on Windows I must call a library routine to do this, and I haven't yet found one that works with Unicode file names. :(

- 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 ($).

Thomas

Hi, Phil,

oh, I should have read the application documentation more carefully: "Normal shell processing of arguments is not performed, which among other things means that arguments should not be quoted and spaces are treated as any other character."...

The idea just did not come to me that quoting rules could be different. Thanks for being so patient. Well, I pin my hopes on anyone who feels responsible for developing such a library in Windows. Certainly this isn't your job.

Thomas

Phil Harvey

Hi Thomas,

I have discovered that the Win32::FindFile module supports both wildcards and Unicode file names with its FindFile() function, and the initial tests are going well.  So ExifTool 9.85 (likely to be released tomorrow) should fix the wildcard problem.

- 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 ($).