Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从bat文件调用Java应用程序并在完成后继续?_Java_Batch File - Fatal编程技术网

从bat文件调用Java应用程序并在完成后继续?

从bat文件调用Java应用程序并在完成后继续?,java,batch-file,Java,Batch File,我正在调用调用Java应用程序的batfileApp.bat: echo %DATE%_%TIME% START >> log.log App.bat import echo %DATE%_%TIME% END >> log.log App.bat中的内容 %JAVACMD% %JAVA_OPTS% %EXTRA_JVM_ARGUMENTS% %APP_OPTS% -classpath %TS_CLASSPATH% org.App %CMD_LINE_ARGS% 其中

我正在调用调用Java应用程序的batfile
App.bat

echo %DATE%_%TIME% START >> log.log
App.bat import
echo %DATE%_%TIME% END >> log.log
App.bat中的内容

%JAVACMD% %JAVA_OPTS% %EXTRA_JVM_ARGUMENTS% %APP_OPTS% -classpath %TS_CLASSPATH% org.App %CMD_LINE_ARGS%
其中,
org.App
位于App.jar文件中

但是在
App.bat
bat文件完成后,包装器bat文件中的最后一行永远不会执行:

echo %DATE%_%TIME% END >> log.log

在Java应用程序调用返回后,我如何执行最后一行?

因为我是一名批处理程序员,我将告诉您这一点(非常确定它将100%工作)

批处理
文件中删除最后一行,并在
java
文件中生成代码以启动名为“ENDLOG.bat”的文件

然后制作一个名为“ENDLOG.bat”的文件/a
batch
名为“ENDLOG”的文件


现在还记得从批处理文件中删除的最后一行吗?将其放入
批处理文件中。

您的示例对我来说效果很好,只是我更改了Java类执行部分

Callme.java

public class Callme {

    public static void main(String args[]) {
        System.out.println("Called JavaApp");
    }
}
CallMe.bat

echo %DATE%_%TIME% START >> log.log
java Callme
echo %DATE%_%TIME% END >> log.log
log.log执行bat文件后

07/07/2015_13:39:10,79 START
07/07/2015_13:39:11,31 END

好的,既然你已经改变了你的问题,你能试试下面的方法并检查一下你是否得到了截止日期吗

echo %DATE%_%TIME% START >> log.log
call App.bat import
echo %DATE%_%TIME% END >> log.log

正如您所说,通过将Java程序作为

MyJavaApp import
,下面的脚本必须工作

echo %DATE%_%TIME% >> "d:\New folder\log.log"
MyJavaApp import
echo %DATE%_%TIME% >> "d:\New folder\log.log"
再次检查Java程序是否已完成。您还可以通过使用传递返回代码来双重检查Java程序是否已完成

System.exit(anyInteger);

并批量获取代码,并检查相应的程序状态。

什么是MyJavaApp?是类文件还是jar文件?我不是批处理专家,但您的调用
MyJavaApp import
不应该是
javamyjavaapp
javamyjavaapp import
(假设
import
MyJavaApp
的参数)他又写了一遍,但没有编译。