![](/img/trans.png)
[英]How to compile a Java file with dependencies in a Windows command prompt window?
[英]How to Make Java Open a Batch File in Same Command Prompt Window
我正在尝试制作一个基于控制台的 Java 应用程序,该应用程序启动一些批处理脚本来执行其他一些不相关的事情。 目前,我只想找到概念证明
我尝试使用以下代码:
Runtime.getRuntime().exec("cmd /c start pathtomybatch.bat");
在我将它转换为.jar
文件并尝试执行它之前,它工作正常。 然后它在新的命令提示符窗口中打开批处理文件,我不希望它这样做。 我想在运行我的 Java 程序的同一窗口中打开批处理文件。我在TechNet和SS64上阅读了有关start
命令的信息,发现显然将更改start
添加到start /b
会在同一命令提示符下打开程序窗户。 但是,当我尝试运行它时:
Runtime.getRuntime().exec("cmd /c start /b pathtomybatch.bat");
NetBeans 对两行代码都显示BUILD SUCCESSFUL
,但是当我尝试第二行代码时,没有命令提示符窗口打开,我的批处理文件也没有启动。
我想知道如何让 Java 在同一个命令提示符窗口中打开该批处理文件,而无需停止 Java 应用程序或等待它完成。
另外,作为一个小小的额外请求,有人可以告诉我是否可以对.exe
文件执行相同的操作吗?
我使用的是 Windows 7,但我希望此应用程序适用于使用 Vista 或更高版本的用户。
额外的窗口来自您启动的启动命令。 请参阅https://www.windows-commandline.com/cmd-start-command/
更好的模式是使用
Process p = Runtime.getRuntime().exec("cmd /c pathtomybatch.bat");
然后确保循环直到 p.exitValue() 不再抛出异常(这意味着进程已退出),并在循环时将所有可用字节从 p.getOutputStream() 和 p.getErrorStream() 复制到 System.out 和/或 System.err。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.