Pour les fichiers exe , je suppose que les différences sont presque sans importance.
Mais pour démarrer un exe, vous n'avez même pas besoin CALL
.
Lors du démarrage d'un autre lot, c'est une grande différence,
car CALL
le démarrera dans la même fenêtre et le lot appelé a accès au même contexte de variable.
Ainsi, il peut également changer les variables qui affectent l'appelant.
START
créera un nouveau cmd.exe pour le lot appelé et sans / b il ouvrira une nouvelle fenêtre.
Comme il s'agit d'un nouveau contexte, les variables ne peuvent pas être partagées.
Différences
Utilisationstart /wait <prog>
- Les modifications des variables d'environnement sont perdues à la <prog>
fin
- L'appelant attend que le <prog>
soit terminé
Utilisationcall <prog>
- Pour exe, il peut être omis, car il équivaut à démarrer <prog>
- Pour un exe-prog, le lot de l'appelant attend ou démarre l' exe de manière asynchrone, mais le comportement dépend de l' exe lui-même.
- Pour les fichiers batch , le batch appelant continue, lorsque l'appelé se <batch-file>
termine, SANS appel le contrôle ne retournera pas au batch caller
Addenda:
L'utilisation CALL
peut modifier les paramètres (pour les fichiers batch et exe), mais uniquement lorsqu'ils contiennent des signes carets ou des pourcentages.
call myProg param1 param^^2 "param^3" %%path%%
Sera étendu à (à partir d'un fichier batch)
myProg param1 param2 param^^3 <content of path>