windows在Java/Eclipse中运行批处理(shell/CMD)命令的最佳方式?
我已经在Eclipse/java中创建了下面的代码,它执行一个批处理文件,在我的所有TestNG测试都执行之后,该批处理文件也应该执行,但有时bat文件会执行,有时它什么都不做,有什么想法吗
@AfterSuite(alwaysRun = true)
public void executeBatFile() {
try {
List cmdAndArgs = Arrays.asList("cmd", "/c", "copyPasteImgs.bat");
File dir = new File(Paths.get(System.getProperty("user.dir") + "/..").toRealPath() + "\\");
ProcessBuilder pb = new ProcessBuilder(cmdAndArgs);
pb.directory(dir);
Process p = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}
批处理文件将文件从本地文件夹移动到远程文件夹(当批处理文件未通过eclipse工作或通过jenkins调用时,我已手动执行批处理文件并完成其工作,非常奇怪…)
谢谢你的帮助
# 1 楼答案
Apache Commons CLI提供了使用java中的命令行进行处理的功能。还可以使用exit值了解命令的执行情况。例如: