2013-04-24 40 views
1

我已創建批處理文件並每隔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 

此批處理文件exceutes可運行的jar文件。 執行完jar後,經過一段時間後,它會拋出內存異常,並且命令提示符窗口永遠不會關閉,並且一小時後它也不會啓動其他命令提示符。

所以我關心的是如何在拋出任何java異常之後關閉命令提示符?

至少它應該在一個小時後關閉。

+0

運行後jar文件是否返回exitcode? – 2013-04-24 10:56:18

+0

@MattWilliamson no – happy 2013-04-24 10:57:27

+0

您使用類似%libpath%\ aspriseOCR.jar&%errorlevel%的方式測試了這個嗎? – 2013-04-24 11:11:37

回答

2

的Java輸出excpetions錯誤流,所以你需要使用重定向趕上它& 1:

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

這應該不知道有關退出代碼工作。

+0

+1是的,這個_should_ work,imo。 – Endoro 2013-04-24 14:44:17