从.jar脚本

时间:2016-01-27 12:12:20

标签: java

我目前正试图弄清楚如何运行位于桌面上的文件/应用程序。 在这种情况下,为了测试一切,我创建了一个名为 test.bat 的批处理文件,里面有命令:

@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上阅读了几篇帖子,但仍然无法弄清楚我做错了什么,因为我通过添加这些行得到错误消息             运行时rt = Runtime.getRuntime();             处理pr = rt.exec(“start test.bat”);

这一行:

Process pr = rt.exec("start test.bat");

其中说:

  

未报告的异常IOException;必须被抓住或宣布为   抛出

如何通过按下按钮启动(可能是其他方式)test.bat文件?

我已阅读其他帖子,但他们都没有谈论此IOExceptions。

AGAIN!现在有解决方案,我已经找到了这个错误,所以停止将这个帖子标记为重复....

这就是我用try catch获得的,它现在正在工作。

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);
    }
} 

1 个答案:

答案 0 :(得分:0)

现在是工作代码:

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);
        }
    }