用java做bat文件_使用Java运行Windows bat文件-bat文件

本文介绍了如何在Java中使用ProcessBuilder和Runtime.getRuntime().exec()方法运行Windows的bat文件,并给出了示例代码,展示了如何读取bat文件的输出。
摘要由CSDN通过智能技术生成

faa2fb9af2a3fc6ce10a1037df534b76.png

使用Java运行Windows bat文件

在 2019年1月10日 上张贴 由 FlammulinaBlog发表回复阅读 4 次

4a563e41d92aaa9d21e96a578e7f2798.png

在Java中运行一个简单的bat文件。

我们使用 ProcessBuilder这样运行Windows批处理文件:ProcessBuilder processBuilder =

new ProcessBuilder("C:\\Users\\mkyong\\hello.bat");

//or

ProcessBuilder processBuilder = new ProcessBuilder();

processBuilder.command("cmd", "/c", "hello.bat");

File dir = new File("C:\\Users\\mkyong\\");

processBuilder.directory(dir);

或者, Runtime.getRuntime().exec像这样:Process process = Runtime.getRuntime().exec(

"cmd /c hello.bat", null, new File("C:\\Users\\mkyong\\"));

Java示例

f03f78603416a15155af85dec3f17a19.png

bat文件路径 C:\\Users\\mkyong\\hello.bat@echo off

echo Hello World

Java示例读取上面的bat文件并显示输出。

JavaRunBatFile.javapackage com.mkyong.concurrency;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

public class JavaRunBatFile {

public static void main(String[] args) {

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Users\\mkyong\\hello.bat");

//Process process = Runtime.getRuntime().exec(

// "cmd /c hello.bat", null, new File("C:\\Users\\mkyong\\"));

try {

Process process = processBuilder.start();

StringBuilder output = new StringBuilder();

BufferedReader reader = new BufferedReader(

new InputStreamReader(process.getInputStream()));

String line;

while ((line = reader.readLine()) != null) {

output.append(line + "\n");

}

int exitVal = process.waitFor();

if (exitVal == 0) {

System.out.println(output);

System.exit(0);

} else {

//abnormal...

}

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

输出

Hello World

如果需要 Wifi.bat文件的小伙伴们请私信我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值