Hi group, This message can be considered both as a minor bug report and a question. Here's an introduction to what I tested:
I wrote a trivial program that I called getargs, it simply prints out the argv list: #include <stdio.h> int main(int argc, char **argv) { int i; printf("got %d args:\n", argc); for (i = 0; i < argc; i++) printf(" %d='%s'\n", i, argv[i]); return(0); } Then, I executed this program with some arbitrary parameters: getargs.exe /X=5 Y=6 on both FreeDOS and MS-DOS, it prints out things I expected, ie: got 3 args: 0='C:\GETARGS.EXE' 1='/X=5' 2='Y=6' and that's all fine. But now, let me introduce a twist. Instead of calling getargs.exe directly, I call it through the following batch file, called GETARGS.BAT: @ECHO OFF C:\GETARGS.EXE %1 %2 %3 %4 %5 %6 %7 %8 %9 and I do the same test again, but this time using getargs.bat instead of getargs.exe. On FreeDOS, I get this: got 4 args: 0='C:\GETARGS.EXE' 1='/X=5' 2='Y' 3='6' While MS-DOS 6 outputs this: got 5 args: 0='C:\GETARGS.EXE' 1='/X' 2='5' 3='Y' 4='6' As you can see, there is some inconsistency between how FreeDOS processes this situation, and how MS-DOS treats it, this could probably be considered a minor bug. But my biggest concern is about the reason both decide to parse '=' as a switch delimiter in the first place, when called through a batch file with %1 %2 %3 argument place-holders... Any idea on that? Is there anything I could do to make the batch file react exactly like if the exe file was launched? Note, that if I replace the %1 %2 variables in the batch file by actual arguments (/X=4 Y=5), then the result is exactly the same as when the exe file is executed directly, so I assume it's something strictly related to how %1 %2 %3... variables are processed. I took screenshots of my tests on both FreeDOS and MS-DOS, should this be useful for any purpose: https://s12.postimg.org/en1mbmgal/getargs_fdos.png https://s16.postimg.org/7uvvosqad/getargs_msdos.png best regards, Mateusz ------------------------------------------------------------------------------ _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel