如何防止child.bat完成之前终止parent.bat

时间:2018-12-06 08:57:59

标签: java batch-file concurrency process

我正在使用Java代码通过执行.bat文件来生成jasper报告。

我的Java代码使用process.waitsfor()直到过程完成。

我的Java代码

builder = new ProcessBuilder("cmd", "/c", batFilePath, reportName, tmpParFilePath, exportFilePath);
p = builder.start();
//um using  threads to consume p.ErrorStream and p.InputStream
p.waitFor();

在我的parent.bat文件中,我正在调用child.bat文件,并且我不想在child.bat文件完成之前终止parent.bat文件。

这是我的parent.bat文件

@echo off
SET CURRENT_DIR_PATH=%~dp0
rem Parameters (%1 = Report Name, %2 = Non-standard Parameters File, %3 = Export File Name)
%CURRENT_DIR_PATH%reportViewer.bat %1.jasper %2 %3
exit 0

这是我的child.bat文件

rem @echo off
rem Parameters (%1 = Report Name, %2 = Non-standard Parameters File)

SET PLANON_JVM_PATH=.\jre\bin
SET VIEWER_JAR_PATH=aia-bi-tools-reportmanager-1.1.jar
SET REPORTS_DIR_PATH=..\reports
SET DATASOURCE_CONFIG_FILE=jdbc.conf
SET PARAMETERS_DIR_PATH=..\reports
SET CURRENT_DIR_PATH=%~dp0

%PLANON_JVM_PATH%\java -jar %CURRENT_DIR_PATH%%VIEWER_JAR_PATH% - 
R%CURRENT_DIR_PATH%%REPORTS_DIR_PATH%\%1 - 
C%CURRENT_DIR_PATH%%DATASOURCE_CONFIG_FILE% -P%2 -E%3
exit 0

.bat文件需要进行哪些更改才能实现上述要求

0 个答案:

没有答案