java - 使用 ProcessBuilder 运行 msys.bat

标签 java

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

这是代码,

    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 项目。上面的命令只是测试一个结果,并不是我想要完成的。

感谢您的帮助!

最佳答案

.bat 文件不能自己运行,而是在 Windows 命令处理器上调用。所以不要忘记在你的 bat 文件之前加载 Windows 命令处理器,cmd.exe。

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 .文章中的代码有点过时,但这些概念在今天和当时一样切题。强烈推荐。

关于java - 使用 ProcessBuilder 运行 msys.bat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11442118/

相关文章:

java - Maven 无法解析类

java - 您知道 Buildix 的替代品吗?

java - 是否有任何 API 可以将 Microsoft 交换服务器与 Java 应用程序集成以进行任务同步?

java - org.openqa.selenium.InvalidSelectorException : invalid selector SyntaxError: Unexpected token } using XPath through Selenium Java

java - 通过jsp发送邮件时服务器出错

java - 在 Java 中读取大型 CSV 文件

java - 在构造函数上声明返回类型不会导致编译错误

java - 您可以通过编程方式在 Java 中注册 ActiveX dll 吗?

javascript - IE 8 和 IE o 上的面板不刷新

Java更新SQL数据库性能