我们有一个偶尔崩溃的程序。客户从计划任务运行程序。当程序使用某个参数运行时,程序作为接口引擎运行,创建一个文件,然后将文件ftp到另一个服务器以供另一个程序导入。
我想知道我是否可能有计划任务而不是运行批处理文件。批处理文件将运行程序并在程序退出时检查errorlevel
。如果errorlevel
不等于零,则批处理文件将再次运行程序。有没有人发现我的计划在批处理文件中使用errorlevel
有问题?
以下是批处理文件的示例:
:start
myPgm.exe intfc
if errorlevel <> 0 then start
答案 0 :(得分:13)
我会这样写:
: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
答案 1 :(得分:3)
您的IF声明错误。它应该读
if %errorlevel% neq 0 goto start
或者您的脚本可以阅读
:start
myPgm.exe intfc || goto start