运行不同于java程序的.exe程序
我在尝试运行运行不同于java程序的.exe程序,java,process,cmd,Java,Process,Cmd,我在尝试运行bfgminer.exe-o bla.bla.com-u-p-S auto-d all时卡住了 我尝试了多种方法来运行此可执行文件,但无法使其运行: public static void runCmd(){ try{ ProcessBuilder builder = new ProcessBuilder("cmd.exe","/c", "cd \"C:\\Users\\pawisoon\\bfgminer-3.10.0-win64\" &&
bfgminer.exe-o bla.bla.com-u-p-S auto-d all时卡住了
我尝试了多种方法来运行此可执行文件,但无法使其运行:
public static void runCmd(){
try{
ProcessBuilder builder = new ProcessBuilder("cmd.exe","/c", "cd \"C:\\Users\\pawisoon\\bfgminer-3.10.0-win64\" && bfgminer.exe -o bla.bla.com -u <user> -p
<pswd> -S auto -d all");
builder.redirectErrorStream(true);
Process pd = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(pd.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
System.out.println(line);
}
}
catch(IOException e){
}
}
请帮我解决这个问题:/据我所见,您试图执行
cd C:\Users\pawisoon\bfgminer-3.10.0-win64\
C:\Users\pawisoon\bfgminer-3.10.0-win64\bfgminer.exe -o bla.bla.com -u -p -S auto -d all
然后
bfgminer.exe -o bla.bla.com -u -p -S auto -d all
因为我想象bfgminer.exe在所提供的实际保留库中(C:\Users\pawisoon\bfgminer-3.10.0-win64)
但事实上,我不确定您的两个cmd命令是否正确执行(我的意思是:我不确定保留的指令库是否作为执行第二个命令的参考)
那么为什么不试着去执行呢
cd C:\Users\pawisoon\bfgminer-3.10.0-win64\
C:\Users\pawisoon\bfgminer-3.10.0-win64\bfgminer.exe -o bla.bla.com -u -p -S auto -d all
(无cd和可执行文件的完整路径)
或者查看@ginz comment并尝试直接启动可执行文件(不使用cmd),如果您不特别想使用cmd.exe非常感谢您的回答!我把你的建议结合起来,效果很好。以下是代码:
public static void runCmd(){
File f = new File("C:\\Users\\pawisoon\\bfgminer-3.10.0-win64");
try{
ProcessBuilder builder = new ProcessBuilder("cmd.exe","/c","start","bfgminer.exe", "-o", "bla.bala.com", "-u", "user", "-p", "lelelel", "-S", "auto", "-d", "all");
builder.directory(f);
builder.redirectErrorStream(true);
Process pd = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(pd.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
System.out.println(line);
}
}
catch(IOException e){
}
}
为什么不从
ProcessBuilder pb=new ProcessBuilder(“C:\\Users\\Pawison\\bfgminer-3.10.0-win64\\bfgminer.exe”、“-o”、“bla.bla.com”、“-u”、”、“-p”、“-S”、“auto”、“-d”、“all”)开始代码>