Mam plik wsadowy, który wykonuje kilka rzeczy. Jeśli jedno z nich zawiedzie, chcę zamknąć cały program. Na przykład:Jak wyjść z programu wsadowego po błędzie?
@echo off
type foo.txt 2>> error.txt >> success.txt
mkdir bob
Jeśli foo.txt plik nie został znaleziony potem chcę wiadomość stderr dołączane do pliku error.txt, inny zawartość foo.txt jest dołączany do success.txt. Zasadniczo, jeśli polecenie type zwraca stderr, chcę, aby plik wsadowy zakończył pracę i nie tworzy nowego katalogu. Jak rozpoznać, czy wystąpił błąd i zdecydować, czy musisz przejść do następnego polecenia, czy nie?
dodałem kod IF NOT ERRORLEVEL 0 EXIT/B echo% errorlevel% przed komendą mkdir bob, ale niezależnie od wartość ERRORLEVEL (tj. 0 lub 1) katalog jest nadal tworzony. Zasadniczo ERRORLEVEL jest ustawiany z inną wartością, niezależnie od tego, czy polecenie typu znajdzie plik, czy nie, ale program nie jest zamykany. Myśli? – Notorious2tall