javaからbatを呼び出して結果を取得する方法

Javaから.batファイルを呼び出し、結果を取得するには、 JavaのRuntimeクラスのexec()メソッドを使用できます。コード例を以下に示します。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class CallBatFile {
public static void main(String[] args) {
try {
// 调用命令行执行.bat文件
Process process = Runtime.getRuntime().exec("cmd /c myscript.bat");
// 获取.bat文件执行的输出流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 读取输出流中的内容
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待.bat文件执行完毕
int exitCode = process.waitFor();
System.out.println("Exit Code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

上記のコードでは、ランタイムのexec()メソットを呼び出すことで.batファイルを実行しています。「cmd /c」を使用してコマンドラインを実行し、.batファイルのパスを指定しています。その後、.batファイルの出力ストリームを取得することで、.batファイル実行の結果を読み込むことができます。最後に、waitFor()メソットを呼び出して.batファイルの実行を待ち、実行の終了コードを取得しています。

この例では、.bat ファイルが現在の作業ディレクトリにあることを前提としていることに注意してください。.bat ファイルのパスが現在の作業ディレクトリにない場合は、完全なパスを指定する必要があります。

bannerAds