¿Por qué llamar a un archivo por lotes anidado sin añadir "llamada" a la línea sale del archivo por lotes principal?

Entiendo cómo llamar a archivos por lotes anidados desde un archivo padre usando elcall comando, ya que hay un montón de recursos en eso:

LLAMADALLAMADA (SS64)Terminación de archivo bat

Sin embargo, no entiendopor qué llamando a otro archivo por lotes de otro termina el padre.

Para un ejemplo menos abstracto, supongamos que tengo un archivo de proceso por lotes que "enlaza" archivos de proceso por lotes separados, yerróneamente no antepasócall a cada linea:

foo.bat
bar.bat

Esto solo ejecutaría foo.bat y luego saldría. Para ejecutar correctamente los dos comandos, tendría que anteponer la llamada antes de cada instrucción:

call foo.bat
call bar.bat

¿Por qué todavía existe la primera funcionalidad? ¿Por qué no se ha cambiado? Me di cuenta quecall se introdujo en MS-DOS 3.3, que se lanzó a fines de la década de 1980, ¿así que esta funcionalidad aún está aquí para compatibilidad inversa?

No puedo pensar en ningún uso (práctico) de esto, pero quizás estoy demasiado acostumbrado a las "nuevas" técnicas de programación.

Respuestas a la pregunta(3)

Su respuesta a la pregunta