Para los archivos exe , supongo que las diferencias son casi sin importancia.
Pero para comenzar un exe que ni siquiera necesitas CALL.
Al comenzar otro lote es una gran diferencia,
ya queCALL lo iniciará en la misma ventana y el lote llamado tiene acceso al mismo contexto variable.
Por lo tanto, también puede cambiar las variables que afectan a la persona que llama.
START creará un nuevo cmd.exe para el lote llamado y sin / b abrirá una nueva ventana.
Como es un contexto nuevo, las variables no se pueden compartir.
Las diferencias
Usostart /wait <prog>
: los cambios de las variables de entorno se pierden cuando <prog>finaliza
: la persona que llama espera<prog> que finalice
Usocall <prog>
: para exe se puede omitir, porque es igual a solo comenzar <prog>
: para un exe-prog, el lote de la persona que llama espera o inicia el exe de forma asincrónica, pero el comportamiento depende del propio exe .
- Para los archivos por lotes , el lote de la persona que llama continúa, cuando se llama<batch-file> finaliza , SIN llamar al control no volverá al lote de la persona que llama
Apéndice:
El uso CALLpuede cambiar los parámetros (para archivos por lotes y exe), pero solo cuando contienen signos de porcentaje o signos de porcentaje.
call myProg param1 param^^2 "param^3" %%path%%
Se expandirá a (desde un archivo por lotes)
myProg param1 param2 param^^3 <content of path>