start ss64 commands batch and windows batch-file cmd call

ss64 - Diferencia entre llamada y cmd/c en el lote de Windows



ss64 batch (1)

La diferencia es que ejecutar el otro archivo por lotes en el mismo contexto del programa llamador, por lo que comparten las mismas variables de entorno y otro estado (como echo ON/OFF o expansión retardada), mientras que cmd /C ejecutan el otro archivo por lotes en un contexto completamente separado, por lo que cualquier cambio realizado en el archivo por lotes llamado no se refleja en el archivo original.

Solo como nota personal, solía nombrar la subrutina interna el archivo por lotes invocado mediante call , y la subrutina externa la invocada a través de cmd /C (y superponer el archivo por lotes invocado directamente sin call ni cmd /C , que hereda el comportamiento y contexto del archivo de lote de la persona que llama).

¿Puede alguien explicar por favor cuál es la diferencia entre

call someBatchFile.bat ...

Y

cmd /C someBatchFile.bat ...

Ambos me fueron sugeridos como soluciones a este problema, pero no entiendo por qué ambos funcionan, y más importante aún, si hay diferencias significativas que debo tener en cuenta.