Running msys.bat using ProcessBuilder

匿名 (未验证) 提交于 2019-12-03 03:03:02

问题:

I am attempting to run msys.bat in java using ProcessBuilder. When I run the .bat file with my program, the following error occurred: "Cannot find the rxvt.exe or sh.exe binary -- aborting. Press any key to continue . . ."

Here is the code,

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

The goal is to compile some C projects of mine. The command up there is just to test for a result, not what I want to accomplish.

Thanks for the help!

回答1:

.bat files can't run on their own and are called on the Windows command processor. So don't forget to load the Windows command processor too, cmd.exe before your bat file.

ProcessBuilder Msys = new ProcessBuilder("cmd.exe", "C:/msys/1.0/msys.bat",         "/C", "find \"C:/Users/Dan G/Desktop/hello.elf\""); 

Edit
Please check out this useful article for tips and traps that occur with this process: when runtime.exec() won't. The code in the article is a bit dated, but the concepts are just as germane today as they were then. It is highly recommended.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!