Как закончить файл .bat и завершить работу control-m, если обнаружена ошибка? - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь скопировать некоторые файлы между серверами с помощью задания control-m и хочу прервать это задание, если какой-либо файл был скопирован.

Я пытался использовать GOTO Quit и exit / 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 перестает выполняться в середине процесса после сообщения об ошибке.

Кто-нибудь может мне помочь?

...