Warum wird beim Aufrufen einer verschachtelten Stapeldatei ohne vorangestelltem "Aufruf" der Zeile die übergeordnete Stapeldatei verlassen?

Ich verstehe, wie man verschachtelte Stapeldateien aus einer übergeordneten Datei heraus mit der aufruftcall Befehl, da es viele Ressourcen darauf gibt:

ANRUFANRUF (SS64)Kündigung der Bat-Datei

Ich verstehe es jedoch nichtWarum Wenn Sie eine andere Batch-Datei von einer anderen aufrufen, wird die übergeordnete Datei beendet.

Nehmen wir für ein weniger abstraktes Beispiel an, ich habe eine Stapeldatei, die separate Stapeldateien "verknüpft", und ichfälschlicherweise nicht voranstellencall zu jeder Zeile:

foo.bat
bar.bat

Dies würde nur foo.bat ausführen und dann beenden. Um beide Befehle korrekt auszuführen, müsste ich vor jeder Anweisung den Aufruf voranstellen:

call foo.bat
call bar.bat

Warum ist die erste Funktionalität noch vorhanden? Warum wurde es nicht geändert? Ich bemerkte, dasscall wurde in MS-DOS 3.3 eingeführt, das in den späten 1980er Jahren veröffentlicht wurde. Ist diese Funktionalität aus Gründen der Reverse-Kompatibilität hier noch vorhanden?

Ich kann mir keine (praktischen) Verwendungen vorstellen, aber vielleicht bin ich zu "neue" Programmiertechniken gewöhnt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage