On 04/10/2014 16:54, Bernd Eckenfels wrote:
Hello,
I noticed that MSDN CreateProcess(W) talks about using "cmd /c" for
executing .bat and .cmd files:
"To run a batch file, you must start the command interpreter;
set lpApplicationName to cmd.exe and set lpCommandLine to the
following arguments: /c plus the name of the batch file."
However the JDK implementation seems to accept an executable path pointing
to a *.bat or *.cmd file.
It's for compatibility reasons. There is a lot of code that calls
Runtime.exec to run .cmd and .bat scripts. Early versions of the JDK
didn't do much validation in this area and just passed the input to the
win32 call. The checking has been tightened up a lot since and part had
to deal with compatibility and keeping existing applications working.
-Alan