Dlaczego wywołanie zagnieżdżonego pliku wsadowego bez poprzedzającego „wywołania” do linii powoduje wyjście z nadrzędnego pliku wsadowego?

Rozumiem, jak wywoływać zagnieżdżone pliki wsadowe z pliku nadrzędnego za pomocącall polecenie, ponieważ jest na to mnóstwo zasobów:

POŁĄCZENIEPOŁĄCZENIE (SS64)Zakończenie pliku bat

Jednak nie rozumiemczemu wywołanie innego pliku wsadowego z innego kończy działanie rodzica.

Dla mniej abstrakcyjnego przykładu załóżmy, że mam plik wsadowy, który „łączy” osobne pliki wsadowe i Imylnie nie prependcall do każdej linii:

foo.bat
bar.bat

Spowoduje to wykonanie tylko foo.bat, a następnie wyjście. Aby poprawnie wykonać oba polecenia, musiałbym poprzedzić wywołanie przed każdą instrukcją:

call foo.bat
call bar.bat

Dlaczego pierwsza funkcjonalność nadal istnieje? Dlaczego nie został zmieniony? zauważyłem tocall został wprowadzony w MS-DOS 3.3, który został wydany pod koniec lat 80., więc czy ta funkcja jest nadal dostępna w celu zapewnienia kompatybilności odwrotnej?

Nie potrafię wymyślić żadnych (praktycznych) zastosowań, ale być może jestem zbyt przyzwyczajony do „nowych” technik programowania.

questionAnswers(3)

yourAnswerToTheQuestion