Por que chamar um arquivo em lotes aninhado sem preceder a “chamada” para a linha sai do arquivo em lote pai?
Eu entendo como chamar arquivos em lotes aninhados de dentro de um arquivo pai usando ocall
comando, pois há muitos recursos sobre isso:
No entanto, eu não entendoporque chamando outro arquivo de lote de outro termina o pai.
Para um exemplo menos abstrato, suponha que eu tenha um arquivo em lotes que "vincula" arquivos em lotes separados, e euerroneamente não prefixoucall
para cada linha:
foo.bat
bar.bat
Isso só executaria foo.bat e depois sairia. Para executar corretamente os dois comandos, eu teria que prefixar a chamada antes de cada instrução:
call foo.bat
call bar.bat
Por que a primeira funcionalidade ainda existe? Por que isso não mudou? eu percebi issocall
foi introduzido no MS-DOS 3.3, que foi lançado no final dos anos 80, por isso esta funcionalidade ainda está aqui para compatibilidade inversa?
Não consigo pensar em nenhum uso (prático) disso, mas talvez eu esteja acostumado demais a "novas" técnicas de programação.