161 votes

Commande DOS CALL et START avec l'option / WAIT

Comment est la commande START avec une option WAIT

 START /wait notepad.exe 
START /wait  notepad.exe 
 

... est-ce différent d'utiliser une commande CALL?

 CALL notepad.exe 
CALL notepad.exe 
 

Existe-t-il une situation où l’un peut se comporter différemment, l’autre dépendant de ce qui est exécuté?

197voto

jeb Points 26035

Pour les fichiers exe, je suppose que les différences sont presque sans importance.
Mais pour commencer, un fichier exe, vous n'avez même pas besoin d'APPELER.

Lors du démarrage d'un autre lot, il y a une grande différence,
en tant que CALL va commencer dans la même fenêtre et l'a appelé lot a accès à la même variable de contexte.
Ainsi, il peut aussi modifier les variables qui affecte l'appelant.

START permettra de créer un nouveau cmd.exe pour les appelés, par lot et sans /b il va ouvrir une nouvelle fenêtre.
Comme c'est un nouveau contexte, les variables ne peuvent pas être partagés.

Addendum:
À l'aide de CALL pouvez modifier les paramètres (pour le lot et les fichiers exe), mais seulement lorsqu'ils contiennent des signes ou des signes de pourcentage.

call myProg param1 param^^2 "param^3" %%path%%

Sera étendu à d' (dans un fichier de commandes)

myProg param1 param2 param^^3 <content of path>

18voto

mckeejm Points 1108

Je pense qu'ils devraient effectuer généralement les mêmes, mais il ya quelques différences. START est généralement utilisée pour démarrer des applications ou pour démarrer l'application par défaut pour un type de fichier donné. De cette façon, si vous START http://mywebsite.com il ne fait pas de START iexplore.exe http://mywebsite.com.

START myworddoc.docx permettrait de démarrer Microsoft Word et ouvrez myworddoc.docx.CALL myworddoc.docx fait la même chose... cependant, START offre davantage d'options pour la fenêtre de l'état et des choses de cette nature. Il permet également la priorité du processus et l'affinité pour être ensemble.

En bref, étant donné les options supplémentaires commencer, il devrait être votre outil de choix.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
  [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
  [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
  [command/program] [parameters]

"title"     Title to display in window title bar.
path        Starting directory.
B           Start application without creating a new window. The
            application has ^C handling ignored. Unless the application
            enables ^C processing, ^Break is the only way to interrupt
            the application.
I           The new environment will be the original environment passed
            to the cmd.exe and not the current environment.
MIN         Start window minimized.
MAX         Start window maximized.
SEPARATE    Start 16-bit Windows program in separate memory space.
SHARED      Start 16-bit Windows program in shared memory space.
LOW         Start application in the IDLE priority class.
NORMAL      Start application in the NORMAL priority class.
HIGH        Start application in the HIGH priority class.
REALTIME    Start application in the REALTIME priority class.
ABOVENORMAL Start application in the ABOVENORMAL priority class.
BELOWNORMAL Start application in the BELOWNORMAL priority class.
NODE        Specifies the preferred Non-Uniform Memory Architecture (NUMA)
            node as a decimal integer.
AFFINITY    Specifies the processor affinity mask as a hexadecimal number.
            The process is restricted to running on these processors.

            The affinity mask is interpreted differently when /AFFINITY and
            /NODE are combined.  Specify the affinity mask as if the NUMA
            node's processor mask is right shifted to begin at bit zero.
            The process is restricted to running on those processors in
            common between the specified affinity mask and the NUMA node.
            If no processors are in common, the process is restricted to
            running on the specified NUMA node.
WAIT        Start application and wait for it to terminate.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X