首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ProcessBuilder运行msys.bat

使用ProcessBuilder运行msys.bat
EN

Stack Overflow用户
提问于 2012-07-12 05:58:27
回答 1查看 3.7K关注 0票数 4

我正在尝试使用ProcessBuilder在java中运行msys.bat。当我用我的程序运行.bat文件时,出现了以下错误:“找不到rxvt.exe或sh.exe二进制文件--正在中止。按任何键继续...”

这是代码,

代码语言:javascript
复制
    ProcessBuilder Msys = new ProcessBuilder("C:/msys/1.0/msys.bat", "/C", "find \"C:/Users/Dan G/Desktop/hello.elf\"");

    Process p = Msys.start();

    String line;
    BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = r.readLine()) != null) {
        System.out.println(line);
    }
    r.close();

目标是编译我的一些C项目。上面的命令只是测试结果,而不是我想要完成的事情。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 06:01:22

.bat文件不能独立运行,需要在Windows命令处理器上调用。所以不要忘了加载Windows命令处理器,在你的bat文件之前使用cmd.exe命令。

代码语言:javascript
复制
ProcessBuilder Msys = new ProcessBuilder("cmd.exe", "C:/msys/1.0/msys.bat", 
       "/C", "find \"C:/Users/Dan G/Desktop/hello.elf\"");

编辑

请查看这篇有用的文章,了解此过程中出现的提示和陷阱:when runtime.exec() won't。这篇文章中的代码有点过时了,但这些概念在今天和当时一样贴切。强烈推荐。

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

https://stackoverflow.com/questions/11442118

复制
相关文章

相似问题

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