This is a known START command error.
If you have spaces in both the command and the parameters and try to process them with quotes, it fails.
The START command first checks to see if the full command exists.
But then only the first part begins.
In your case, it searches for "C:\tmp\test runner2.bat" , but try running C:\tmp\test .
You can avoid this when the command is replaced by CALL
START /b /wait "Dummy title" CALL "C:\tmp\test runner2.bat" arg1 arg2 "arg 3" arg4
cmd /k used to start a new START process.
And this is the reason for the wrong behavior.
Paul Grocke mentioned the fact that this only happens when it is a batch file.
Exe files will run directly, so they are not affected by the cmd.exe error.
In your case
C:\Windows\system32\cmd.exe /K "C:\tmp\test runner2.bat" arg1 arg2 "arg 3" arg4
And the help of cmd /k and cmd /c explains that in this case the first and last quotes are deleted.
jeb
source share