2 回答

TA貢獻1880條經驗 獲得超4個贊
String []cmdarray = new String[4];
cmdarray[0] = "cmd";
cmdarray[1] = "/c";
cmdarray[2] = "start";
cmdarray[3] = "c:/err&or.jpg".replace("&", "^&");
Runtime.getRuntime().exec(cmdarray);
&在cmd中作為關鍵字保留,還有空格等 你最好都轉義一下 前面加^ 就行

TA貢獻1829條經驗 獲得超7個贊
可以執行一個,不過好像一次執行不了多個。。
你要多調用幾次。。
類似,你要調用 ipconfig ,再調用 ping
可以試試如下代碼,我已經調試通過:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
public class Test {
public static void main (String[] args) {
excuteCommand("ipconfig");
excuteCommand("ping 10.141.26.50");
}
public static void excuteCommand(String command)
{
Runtime r = Runtime.getRuntime();
Process p;
try {
p = r.exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String inline;
while ((inline = br.readLine()) != null) {
System.out.println(inline);
}
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
添加回答
舉報