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 に答える