如果发现错误,如何完成.bat文件并放弃Control-M作业?

时间:2019-04-30 19:09:06

标签: batch-file control-m

我正在尝试通过control-m作业在服务器之间自动复制某些文件,如果要复制任何文件,我想放弃该作业。

我尝试使用GOTO退出并退出/ b,但似乎没有用。

robocopy "C:\Temp\enviar" "C:\Temp\enviado"
@ECHO OFF
IF %ERRORLEVEL% EQU 16 ECHO ***FATAL ERROR*** & GOTO QUIT
IF %ERRORLEVEL% EQU 15 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + FALHA NA COPIA DE ALGUM ARQUIVO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 14 ECHO ***FALHA NA COPIA DE ALGUM ARQUIVO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 13 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + FALHA NA COPIA DE ALGUM ARQUIVO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS*** & GOTO QUIT
IF %ERRORLEVEL% EQU 12 ECHO ***FALHA NA COPIA DE ALGUM ARQUIVO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS*** & GOTO QUIT
IF %ERRORLEVEL% EQU 11 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + FALHA NA COPIA DE ALGUM ARQUIVO + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 10 ECHO ***FALHA NA COPIA DE ALGUM ARQUIVO + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 9 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + FALHA NA COPIA DE ALGUM ARQUIVO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 8 ECHO ***FALHA NA COPIA DE ALGUM ARQUIVO*** & GOTO GOTO QUIT
IF %ERRORLEVEL% EQU 7 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO OK
IF %ERRORLEVEL% EQU 6 ECHO ***NENHUM ARQUIVO COPIADO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 5 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS + SEM FALHAS*** & GOTO OK
IF %ERRORLEVEL% EQU 4 ECHO ***NENHUM ARQUIVO COPIADO + ARQUIVOS OU DIRETORIOS INCOMPATIVEIS*** & GOTO QUIT
IF %ERRORLEVEL% EQU 3 ECHO ***UM OU MAIS ARQUIVOS COPIADOS + EXISTE ARQUIVOS NA PASTA DE DESTINO*** + SEM FALHAS & GOTO OK
IF %ERRORLEVEL% EQU 2 ECHO ***NENHUM ARQUIVO COPIADO + EXISTE ARQUIVOS NA PASTA DE DESTINO*** & GOTO QUIT
IF %ERRORLEVEL% EQU 1 ECHO ***UM OU MAIS ARQUIVOS COPIADOS SEM FALHAS*** & GOTO OK
IF %ERRORLEVEL% EQU 0 ECHO ***NENHUM ARQUIVO COPIADO*** & GOTO QUIT
:QUIT
exit /b
:OK
@ECHO ON

我希望出现错误消息后,control-m作业在该过程的中间停止运行。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

为了通知Control-M您的批处理文件已异常,您需要提供一个非零的代码。更改行: 退出/ b

对于类似的东西:

exit /b %ERRORLEVEL%

exit /b 5

在最后一个示例中,Control-M会通知您您的工作已中止并返回代码5。

我将尝试替换这些批处理文件中的所有行:

robocopy "C:\Temp\enviar" "C:\Temp\enviado"
exit /b %ERRORLEVEL%

希望这会有所帮助。