我正在使用下面的代码来执行 .bat 文件并读取响应。
java.lang.ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "C:\\main.bat");
java.lang.Process p = pb.start();
String line;
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = r.readLine()) != null) {
System.out.println(line); <--this works
}
r.close();
}
}
main.bat 只会回显该值
call sample.bat c:\sample.txt value1
echo %value1% <---this works
但是现在我想从 java 代码中传递一个参数,该参数将在批处理文件中设置并且可以在 java 代码中打印。
java.lang.ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "C:\\main.bat" +s1);
java.lang.Process p = pb.start();
System.out.println(s1); <--- this does not work
有人可以让我知道如何将 .bat 文件中的值返回到任何调用应用程序吗?