批处理文件不是可执行文件。他们需要一个应用程序来运行它们(即cmd)。
在UNIX上,脚本文件的文件开头有shebang(#!),用于指定执行该脚本的程序。在Windows中双击是由Windows资源管理器执行的。 CreateProcess
对此一无所知。
Runtime.
getRuntime().
exec("cmd /c start \"\" build.bat");
注意:使用该start \"\"
命令,将打开一个单独的命令窗口,标题标题为空白,并且批处理文件的所有输出都将显示在该窗口中。它也应该只与“ cmd / c build.bat”一起使用,在这种情况下,如果需要,可以从Java子进程中读取输出。