web-dev-qa-db-fra.com

Comment lancer un programme à partir de la ligne de commande sans ouvrir une nouvelle fenêtre cmd?

J'essaie d'exécuter par programme un fichier externe à partir de cmd en utilisant cette commande:

START "filepath"

"filepath" est le chemin de mon fichier. Il s'ouvre bien mais ouvre également une nouvelle fenêtre d'invite de commandes.

Alors, quelle est la bonne commande pour ouvrir un programme externe sans ouvrir une nouvelle fenêtre?

18
Andrei20193

Sous Windows 7+, les premières citations seront le titre de la fenêtre cmd pour ouvrir le programme:

start "title" "C:\path\program.exe"

Le formatage de votre commande comme ci-dessus ouvrira temporairement une fenêtre cmd qui disparaît aussi vite qu'elle apparaît, de sorte que vous ne la voyez vraiment jamais. Il vous permet également d'ouvrir plus d'un programme sans attendre que le premier se ferme en premier.

15
Matt - MCTS

Ajoutez/B, comme indiqué dans l'aide en ligne de commande pour démarrer:

C:\>start /?
Starts a separate window to run a specified program or command.

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.
8
John Watts

Supprimez simplement la citation double, cela fonctionne dans Windows 7:

start C:\ProgramFiles\folderName\app.exe

Si vous souhaitez maximiser la fenêtre, essayez ceci:

start /MAX C:\ProgramFiles\folderName\app.exe


Votre commande START "filepath" lancera une invite de commande et changera le titre de l'invite de commande en filepath.

Essayez d'exécuter start /? dans l'invite de commande Windows et vous obtiendrez plus d'informations.

4
Frank

Je pense que si tu fermais un programme

taskkill /f /im "winamp.exe" 
//....(winamp.exe is example)...

fin, donc si vous voulez démarrer un programme que vous pouvez utiliser

start "" /normal winamp.exe 

(/ norma,/max/min sont cette valeur de process cpu)

ÉGALEMENT

démarrer "filepath" enter image description here

si vous voulez une ligne de commande sans ouvrir une nouvelle fenêtre, vous écrivez

start/b "filepath" enter image description here

/ B est l'application Démarrer sans créer de nouvelle fenêtre. L'application a la gestion ^ C ignorée. À moins que l'application n'active le traitement ^ C, ^ Break est le seul moyen d'interrompre l'application.

4
lscodex

Si vous le faites via CMD comme vous le dites, vous pouvez simplement entrer la commande comme suit:

path\to\your.exe 

qui l'ouvrira dans la même fenêtre. Par exemple en C++:

system("path\\to\\your.exe"); // Double backslash for escaping

ouvrira your.exe dans la fenêtre CMD actuelle. De même, pour commencer avec une nouvelle fenêtre, optez simplement pour:

system("start path\\to\\your.exe");

Si vous optez pour la première option, vous devrez effacer votre écran à moins que vous ne vouliez avoir la commande pour ouvrir your.exe sur l'écran encore.

0
whitfin

Vous pouvez utiliser la commande call ...

Type: call /?

Utilisation: call [drive:][path]filename [batch-parameters]

Par exemple call "Example File/Input File/My Program.bat" [Ceci est également possible avec les fichiers d'appel qui ont un . Exe , . Cmd , . txt , etc.

REMARQUE: CETTE COMMANDE NE FONCTIONNE PAS TOUJOURS !!!

Tous les ordinateurs ne sont pas capables d'exécuter cette commande, mais si cela fonctionne, cela est très utile, et vous n'aurez pas à ouvrir une nouvelle fenêtre ...

0
Fait Wise

20190907

OS: Win 10

Je fais un exe en c ++, pour une raison quelconque usting START fait échouer mon programme.

Donc, utilisez simplement des guillemets:

"c:\folder\program.exe"

0
jaimeandrescatano

Je l'ai fait fonctionner depuis qkzh mais au lieu d'utiliser MAX, changez-le en MIN et la fenêtre se fermera très rapidement.

@echo off
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin"
:: Title not needed:
start /MIN  mysqld.exe
exit
0
Shersha Fn