Tak więc buduję wielu klientów przy użyciu tego samego skryptu wsadowego. Jeśli wystąpi błąd podczas budowania, proces ten po prostu się zatrzymuje i przechodzi do następnego. Ponieważ na ekranie jest dużo danych wyjściowych i robię inne rzeczy, w większości przypadków tęsknię za błędem kompilacji.Zatrzymaj skrypt wsadowy przed wykonaniem podczas napotykania błędu
Czy istnieje sposób, aby zatrzymać wykonywanie następujących zadań, jeśli wystąpił błąd, i wyświetlić komunikat wyskakujący, aby zwrócić moją uwagę? A przynajmniej przestań to robić, kiedy wracam do okna poleceń, widzę, że nastąpiła awaria?
@echo off
if "%1"=="?" GOTO HELP
if NOT "%1"=="" set rev=%1
if NOT "%2"=="" set version=%2
@echo on
rem build one
call perl buildClient.pl -brandName="myBrand" -group="group1"
rem build two
call perl buildClient.pl -brandName="myBrand" -group="group2"
rem build three
call perl buildClient.pl -brandName="myBrand" -group="group3"
rem build four
call perl buildClient.pl -brandName="myBrand" -group="group4"
@echo off
goto EXIT
:HELP
cls
echo.
echo.
echo usage: buildbrand.bat [revision] [version] [group]
echo.
echo ? = this help screen
echo.
echo revision = build version
echo Example: 5.2.31
echo group = group of phones or phone name
echo Example: SonyEricsson\K750
echo.
:EXIT
set version=
set rev=
set brandName=
PAUSE
powiedzmy budowania grupa1 powiodło się. Chcę się tam zatrzymać i otrzymać powiadomienie, zamiast kontynuować przetwarzanie grupy2. – Tony
Nie jestem w 100% pewny, ale myślę, że coś w stylu 'argumenty polecenia wywołania || echo Polecenie nie powiodło się && pause' powinno działać. –
@ProfPickle Zakładamy, że perl daje poziom błędu, który zakładam, że nie. Tony, jakie wyniki daje, jeśli się nie uda? –