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 CALLle 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.
STARTcré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 CALLpeut 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>