Java 从.jar脚本在中启动进程(文件)
我目前正试图弄清楚如何运行一个位于我桌面上的文件/应用程序。 在本例中,为了测试所有内容,我创建了一个名为test.bat的批处理文件,其中包含以下命令:Java 从.jar脚本在中启动进程(文件),java,Java,我目前正试图弄清楚如何运行一个位于我桌面上的文件/应用程序。 在本例中,为了测试所有内容,我创建了一个名为test.bat的批处理文件,其中包含以下命令: @echo msg * hello 这将弹出一个消息框 这应该通过jButton在Netbeans中启动,所以这就是我目前拥有的: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
@echo
msg * hello
这将弹出一个消息框
这应该通过jButton在Netbeans中启动,所以这就是我目前拥有的:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("msg * hello");
}
然而,每次我按下那个按钮,什么也没发生
此外,我在这里读了几篇关于stackoverflow的文章,但仍然无法找出我做错了什么,因为我通过添加这些行得到了一条错误消息
Runtime rt=Runtime.getRuntime();
过程pr=rt.exec(“start test.bat”)
对于这一行:
Process pr = rt.exec("start test.bat");
上面说:
未报告异常IOException;必须被抓住或宣布为
扔
如何通过按下按钮启动test.bat文件(可能不是这样)
我也读过其他的帖子,但没有一篇谈论这个
又来了!现在还有解决方案,我已经找到了解决这个错误的方法,所以不要再把这篇文章标记为重复
这是我用试抓得到的,它现在起作用了
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Runtime rt = Runtime.getRuntime();
try {
Process pr = rt.exec("msg * hello");
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
这是现在的工作代码:
String programFilesx86= System.getenv("ProgramFiles(X86)");
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Runtime rt = Runtime.getRuntime();
try {
Process pr = rt.exec("cmd /k start \"\" \""+programFilesx86+"\\Folder\\test.exe\" " );
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
我不确定exec是否会使用“start”,因为start不是一个流程。您可能会想执行类似“cmd/k start test.bat”或类似的操作,但这里真正的问题是,由于捕获并抛出了声明,我的脚本无法正常工作……谢谢chrisw69的评论,也很有帮助!