如果抛出任何异常,请关闭命令提示符窗口

时间:2013-04-24 10:50:14

标签: java batch-file jar

我已创建批处理文件并每隔1小时安排一次。

以下是批处理文件脚本

set libpath=D:\Batch\Batch_lib
set classpath=%classpath%;%libpath%\aspriseOCR.jar
set classpath=%classpath%;%libpath%\aspriseTIFF.jar
set classpath=%classpath%;%libpath%\cmb81.jar
set classpath=%classpath%;%libpath%\cmbcm81.jar
set classpath=%classpath%;%libpath%\cmbem81.jar
set classpath=%classpath%;%libpath%\cmbicm81.jar
set classpath=%classpath%;%libpath%\cmbicmc81.jar
set classpath=%classpath%;%libpath%\cmbicmcup.jar
set classpath=%classpath%;%libpath%\cmblog4j81.jar
set classpath=%classpath%;%libpath%\cmbsdk81.jar
set classpath=D:\Batch\Batch_1.jar
java -Xms1024m -Xmx1024m -jar Batch_1.jar
exit

此批处理文件超出了可运行的jar文件。 执行jar后,一段时间后抛出内存异常,命令提示符窗口永远不会关闭,一小时后它也不会启动其他命令提示符。

所以我关心的是如何在抛出任何java异常后关闭命令提示符?

至少它会在一小时后关闭。

1 个答案:

答案 0 :(得分:2)

Java输出错误流的异常,因此您需要通过重定向到& 1来捕获它:

java -Xms1024m -Xmx1024m -jar Batch_1.jar 2>&1 | find "Exception" && exit

这应该可以在不知道退出代码的情况下工作。