In Windows the character "#" is a valid path and file name character. In Version 4.54 for command line options, the character # is used to signify a number substitution when you are converting (using the /convert= argument). When batch converting, this causes havoc when the path or the file name contains a # and produces undesired results. When the # is in the path, you will get as many folders as you have image files to convert with one image file per folder. When a # is in the image file name the # will be substituted with a number and written out. The only way to get around this is to substitute a "$#" for the # in the path or file name. There are several issues to the process.
In order to avoid this # to number substitution a programmer must design their code or script to check every path and file to ensure they do not contain a # in the path or file name and then make a substitution of "$#" in that string. This adds enormous complexity to software development.
More over there is no solution for a command line batch conversion that has a file list that contains the files for conversion where the image files have a # in the name, for example:
“ /filelist=""D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!!ResizeList.txt"" /ini=""C:\!ini2048"" /advancedbatch /convert=""D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\*.jpg"""
In the /filelist= where the contents of the text file listing the files for conversion are:
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0001.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0002.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0003.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0004.jpg
Because your software substitutes a number for the # when writing out the converted file it produces the following modified file names with the # to number substitution:
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC10001
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC20002
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC30003
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC40004
Since the /convert= argument contains "\*.jpg" as the placeholder for converted file names there is nowhere to place the $# in the code.
This was not an issue with prior versions. For example V4.27 did not have this substitution.
Therefore please consider the following request to improve your command line options:
Increase your command lines to include (as an example):
"/rename=" to signify renaming of the batch files
"/convertrename=" to signify convert and rename of the batch files.
AND revert back to your standard of having "/convert=" signifying conversion only, no rename.
This improvement would bring your command line into alignment with your Windows app interface that has those 3 options and it would then conform to Windows naming conventions.
In order to avoid this # to number substitution a programmer must design their code or script to check every path and file to ensure they do not contain a # in the path or file name and then make a substitution of "$#" in that string. This adds enormous complexity to software development.
More over there is no solution for a command line batch conversion that has a file list that contains the files for conversion where the image files have a # in the name, for example:
“ /filelist=""D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!!ResizeList.txt"" /ini=""C:\!ini2048"" /advancedbatch /convert=""D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\*.jpg"""
In the /filelist= where the contents of the text file listing the files for conversion are:
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0001.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0002.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0003.jpg
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!o\PIC#0004.jpg
Because your software substitutes a number for the # when writing out the converted file it produces the following modified file names with the # to number substitution:
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC10001
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC20002
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC30003
D:\ZZTestn\Tstn 4 Errors in Irfanview\!Tstn MAX with Set Numbers\Baby Pics - At Beach\!conv\PIC40004
Since the /convert= argument contains "\*.jpg" as the placeholder for converted file names there is nowhere to place the $# in the code.
This was not an issue with prior versions. For example V4.27 did not have this substitution.
Therefore please consider the following request to improve your command line options:
Increase your command lines to include (as an example):
"/rename=" to signify renaming of the batch files
"/convertrename=" to signify convert and rename of the batch files.
AND revert back to your standard of having "/convert=" signifying conversion only, no rename.
This improvement would bring your command line into alignment with your Windows app interface that has those 3 options and it would then conform to Windows naming conventions.