首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击按钮时从Java代码运行批处理文件

问如何在单击按钮时从Java代码运行批处理文件
EN

Stack Overflow用户
提问于 2013-12-20 16:03:32
回答 3查看 2.8K关注 0票数 2

在单击jsp页面中的一个按钮时,我想运行一个批处理文件。我写这段代码是为了在方法中执行批处理文件,但它不起作用。请帮帮我。

代码语言:javascript
复制
public String scheduler() {
    String result=SUCCESS;  
    try {

        Process p =  Runtime.getRuntime().exec("cmd /c start.bat", null, new File("C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\start"));

        System.out.println("manual scheduler for application.."+p);
    } catch(Exception e) {  
    }
}
EN

回答 3

Stack Overflow用户

发布于 2013-12-20 16:39:33

添加此代码,

代码语言:javascript
复制
batFile.setExecutable(true);

//Running bat file
Process exec = Runtime.getRuntime().exec(PATH_OF_PARENT_FOLDER_OF_BAT_SCRIPT_FILE+File.separator+batFile.getName());                                                              
byte []buf = new byte[300];
InputStream errorStream = exec.getErrorStream();
errorStream.read(buf);                              
logger.debug(new String(buf));
int waitFor = exec.waitFor();
if(waitFor==0) {
    System.out.println("BAT script executed properly");
}
票数 1
EN

Stack Overflow用户

发布于 2013-12-20 16:09:05

根据this的说法,以下代码应该可以工作(只需删除cmd /c即可):

代码语言:javascript
复制
public String scheduler() {
    String result=SUCCESS;  
    try {

        File f = new File("C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\start")
        Process p =  Runtime.getRuntime().exec("start.bat", null, f);

        System.out.println("manual scheduler for application.."+p);
    } catch(Exception e) {   
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-12-20 16:45:28

这里不清楚您是只想运行bat文件,还是想等待它运行。

//必填bat文件所在位置,例如K:/MyPath/MyBat.bat在我的例子中//如果bat文件在类路径中,那么您可以直接提供bat文件名MyBat.bat

代码语言:javascript
复制
 **Runtime rt = Runtime.getRuntime() ;
 Process batRunningProcess= rt.exec("cmd /c   K:/MyPath/MyBat.bat");**

//这是等待进程完成//如果进程完成,则value为0

代码语言:javascript
复制
 **final int exitVal =  lawTab_Indexer.waitFor();**

//如果您只想运行bat文件,而不想等待它完成,则不需要该行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20698890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档