Mam plik wsadowy, który jest zawijany wokół instalatora. Ten plik wsadowy sprawdza poziom błędu zwrócony przez instalatora i odpowiednio drukuje.
Zauważyłem, że jeśli wykonam set ERRORLEVEL=0
w wierszu polecenia tuż przed wykopaniem pliku wsadowego (w tym samym oknie poleceń / środowisku), instalator nigdy nie zadziała z poziomem błędu, a mój skrypt wsadowy zawsze powróci. Zakładam, że %ERRORLEVEL%
jest to zmienna zdefiniowana przez Windows i jest używana specjalnie do drukowania błędów z programów i skryptów, a użycie tej zmiennej w pliku wsadowym lub coś innego byłoby „na własne ryzyko”, ponieważ można ją zmienić w dowolnym momencie przez inny proces.
Z tego, co się wydaje, kiedy ustawiam poziom błędu w danym środowisku, to w jakiś sposób przerywa użycie poziomu błędu jako właściciela kodu wyjścia. Czy ktoś wie, dlaczego tak jest? Dla mnie to dziwne, nieoczekiwane zachowanie. Wszelkie informacje na ten temat byłyby bardzo mile widziane!
&&
lub||
.