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 CALL
puede 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>