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:
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.