一、静默调用
1、在E盘下新建bat脚本
echo "hello word"
2、java代码
public static void main(String[] args) {
String batPath = "E:\\test.bat"; // 把你的bat脚本路径写在这里
File batFile = new File(batPath);
boolean batFileExist = batFile.exists();
System.out.println("batFileExist:" + batFileExist);
if (batFileExist) {
callCmd(batPath);
}
}
private static void callCmd(String locationCmd){
StringBuilder sb = new StringBuilder();
try {
Process child = Runtime.getRuntime().exec(locationCmd);
InputStream in = child.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(in));
String line;
while((line=bufferedReader.readLine())!=null)
{
sb.append(line + "\n");
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
System.out.println("------异常---------");
System.out.println(e);
}
System.out.println("sb:" + sb.toString());
System.out.println("------执行完成---------");
} catch (IOException e) {
System.out.println(e);
}
}
3、执行结果
batFileExist:true
sb:
E:\\project>echo "hello word"
"hello word"
------执行完成---------
二、调用bat,并弹窗
使用以下代码:
Runtime.getRuntime().exec("cmd /k start E:\\test.bat");
cmd /c dir 是执行完dir命令后关闭命令窗口.
cmd /k dir 是执行完dir命令后不关闭命令窗口.
cmd /c start dir 会打开一个新窗口后执行dir指令, 原窗口会关闭.
cmd /k start dir 会打开一个新窗口后执行dir指令, 原窗口不会关闭.