import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
String cmd = "@echo off \nstart cmd /k ipconfig";
String url = "F:\\test.bat";
FileWriter fw = null;
try {
//生成bat文件
fw = new FileWriter(url);
fw.write(cmd);
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
try{
//运行bat文件
Process process = Runtime.getRuntime().exec(url);
InputStream in = process.getInputStream();
String line;
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
in.close();
process.waitFor();
System.out.println("执行成功");
}catch(Exception e){
System.out.println("执行失败");
}
}
}
备注:由于 Runtime.getRuntime().exec(cmd /k start ipconfig) 的方式执行完一条命令会直接闪退窗口,无法处理同一窗口执行多条命令等复杂业务,所以采用生成bat文件的方式,再通过运行bat文件执行cmd命令。