11

我们有一个程序偶尔会崩溃。客户从计划任务运行程序。当程序以某个参数运行时,程序作为接口引擎运行,创建一个文件,然后将该文件ftp'到另一个服务器,供另一个程序导入。

我想知道我是否可以让计划任务改为运行批处理文件。批处理文件将运行程序并errorlevel在程序退出时进行检查。如果errorlevel不等于零,则批处理文件将再次运行程序。有人看到我errorlevel在批处理文件中使用的计划有问题吗?

这是批处理文件的示例:

:start    
myPgm.exe intfc    
if errorlevel <> 0 then start
4

2 回答 2

15

我会这样写:

:start
myPgm.exe intfc
IF %errorlevel% NEQ 0 GOTO :error
GOTO :end
:error
echo There was an error.
EXIT 1
:end
echo End.
EXIT 0
于 2013-06-12T22:10:35.077 回答
4

你的 IF 语句是错误的。它应该读

if %errorlevel% neq 0 goto start

或者您的脚本可以读取

:start
myPgm.exe intfc || goto start
于 2012-10-31T03:45:05.400 回答