批处理脚本暂停异常,可以自动继续吗?

时间:2015-09-10 12:47:29

标签: windows batch-file

我在批处理文件中有以下代码片段,用于在循环中运行带有参数的程序:

for /F "tokens=*" %%a in (some-list.txt) do (
    java -jar some-java-package.jar com.example.package.class %%a
)

有时Java应用程序在内存异常上崩溃(这可能是一个重要的点,因为根据我目前的编程经验,这些似乎是特殊的异常,我无法像我一样抓住它们会捕获程序代码中的正常异常。)

在这种情况下,似乎我的批处理脚本暂停,直到我采取行动:我可以按Ctrl-C并按批次的问题,如果我想停止批处理作业回复N,那么它将继续下一个节目电话。

是否可以告诉批次自动进行此类事件?

1 个答案:

答案 0 :(得分:2)

您应该使用java命令调用start,如下所示:

for /F "tokens=*" %%a in (some-list.txt) do (
    start "" /WAIT "java" -jar some-java-package.jar com.example.package.class %%a
)

/WAIT开关允许start等待,直到应用程序(java)完成执行。
""部分定义了窗口标题(这里定义的是start,有时会在没有给出标题的情况下将其与命令行混淆。)