Java代码
/**
* 启动对应的bat文件
* @param path 文件路径
* @param workingDir 文件目录
*/
private static void startBatExe(String path, String workingDir)
{
try
{
// 使用ProcessBuilder来构建进程
ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "start", "\"\"", path);
// 设置工作目录,bat文件里有相对路径的话,需要指定
if (ObjectUtil.isNotEmpty(workingDir))
{
processBuilder.directory(new java.io.File(workingDir));
}
// 启动进程
Process process = processBuilder.start();
// 等待进程完成
int exitCode = process.waitFor();
LOGGER.info("bat文件启动,返回码" + exitCode);
} catch (IOException | InterruptedException e)
{
LOGGER.error("bat文件启动时发生错误!", e);
throw new RuntimeException("bat文件启动时发生错误!");
}
}