Utilisation de & # 8220; start & # 8221; commande avec les paramètres passés au programme démarré

StackOverflow https://stackoverflow.com/questions/154075

  •  03-07-2019
  •  | 
  •  

Question

J'ai une machine virtuelle dans Virtual PC 2007.

Pour le démarrer à partir du bureau, j'ai la commande suivante dans un fichier batch:

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

Mais cela laisse une invite DOS sur la machine hôte jusqu'à ce que la machine virtuelle s'éteigne et que je quitte la console Virtual PC. C'est agaçant.

J'ai donc modifié ma commande pour utiliser la commande START, à la place:

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

Mais cela étouffe les paramètres transmis à Virtual PC.

START /? indique que les paramètres vont effectivement à cet endroit. Quelqu'un at-il déjà utilisé START pour lancer un programme avec plusieurs arguments de ligne de commande?

Était-ce utile?

La solution

START présente une particularité impliquant des guillemets autour du premier paramètre. Si le premier paramètre a des guillemets doubles, il l’utilise comme titre optionnel TITLE pour la nouvelle fenêtre.

Je crois que ce que vous voulez, c'est:

start "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

En d’autres termes, donnez-lui un titre vide avant le nom du programme pour le simuler.

Autres conseils

Au lieu d'un fichier de commandes, vous pouvez créer un raccourci sur le bureau.

Définissez la cible sur:

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

et vous êtes tous ensemble. Puisque vous ne démarrez pas une invite de commande pour le lancer, il n’y aura pas de boîte DOS.

Les espaces sont des problèmes de DOS / CMD, vous devez donc aller dans le chemin via:

cd "c:\program files\Microsoft Virtual PC"

puis démarrez simplement VPC via:

start Virtual~1.exe -pc MY-PC -launch

~ 1 désigne le premier exe avec "Virtual" et au début. Donc, s’il existe un "Virtual PC.exe" et un "Virtual PC1.exe" , le premier sera le Virtual ~ 1.exe et le second Virtual ~ 2.exe et ainsi de suite.

Ou utilisez un client VNC tel que VirtualBox.

La réponse dans "particularité" est correct et répond directement à la question. Comme TimF a répondu, le premier paramètre étant entre guillemets, il est traité comme un titre de fenêtre.

Notez également que les options de Virtual PC sont traitées comme des options de la commande "start" elle-même et ne sont pas valides pour "start". Ceci est vrai pour toutes les versions de Windows qui ont la commande 'start'.

Ce problème de traitement du paramètre cité en tant que titre est encore plus gênant que le problème signalé. Si vous exécutez ceci:

start "some valid command with spaces"

Vous obtenez une nouvelle fenêtre d'invite de commande, avec le résultat évident pour un titre de fenêtre. Encore plus gênant, cette nouvelle fenêtre n’hérite pas des polices, des couleurs ou de la taille de la police personnalisées, c’est juste la valeur par défaut pour cmd.exe.

Si vous devez utiliser des guillemets doubles pour tous les paramètres, vous pouvez obtenir l'erreur "'c: \ chemin d'accès' 'n'est pas reconnu par une commande interne ou externe, un programme utilisable ou un fichier de commandes". Je suggère la solution ci-dessous lorsqu’on utilise un double point d’attente: https://stackoverflow.com/a/43467194/3835640

Vous pouvez utiliser des guillemets en utilisant le [ / D "chemin" ], utilisez / D uniquement pour spécifier le chemin et non le chemin. + programme. Il semble que tout le code sur la même ligne qui suit retourne à la normale, ce qui signifie que vous n’avez pas besoin de séparer chemin et fichier.

    start  /D "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

ou:

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

va démarrer IE avec la page Web par défaut.

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE www.bing.com

commence par Bing, mais ne réinitialise pas votre page d'accueil.

/ D signifie "répertoire". et utiliser des guillemets, c'est bien!

Mauvais exemple:

    start  /D "TITLE" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"

donne:

  

ERREUR " Le répertoire en cours n'est pas valide. "

/ D ne doit être suivi que d'un chemin de répertoire. Puis espace et le fichier batch ou programme que vous souhaitez démarrer / exécuter

Testé et fonctionne sous XP, mais Windows Vista / 7/8 peut nécessiter quelques ajustements dans le contrôle de compte d'utilisateur.

-Mrbios

Aucune de ces réponses n'a fonctionné pour moi.

Au lieu de cela, j'ai dû utiliser la commande Call:

Call "\\Path To Program\Program.exe" <parameters>

Je ne suis pas sûr que cela attend la fin des travaux ... le fichier redistribuable C ++ que j'installais a été assez rapide pour que cela n'ait pas d'importance

Si vous souhaitez transmettre le paramètre et votre fichier .exe dans le dossier de test du lecteur c:

start " paramètre " " C: \ test \ test1.exe " -pc My Name-PC -launch

Si vous ne voulez pas transmettre de paramètre et votre fichier .exe dans le dossier de test du lecteur c:

commencez " " " C: \ test \ test1.exe " -pc My Name-PC -launch

Si vous ne souhaitez pas transmettre de paramètre et votre fichier .exe dans le dossier de test du lecteur H: (Tout autre)

commencez " " " H: \ test \ test1.exe " -pc My Name-PC -launch

" / b " paramètre

start / b " " "c: \ programmes \ Microsoft Virtual PC \ Virtual PC.exe" -pc " MY-PC " -launch

Modifier le " Virtual PC.exe " vers un nom sans espace tel que " VirtualPC.exe " dans le dossier. Lorsque vous écrivez , démarrez "& path; path" avec " " Le CMD démarre une nouvelle fenêtre cmd avec le chemin comme titre. Remplacez le nom par un nom sans espace, écrivez-le dans le Bloc-notes, puis sauvegardez-le comme Nom.cmd ou Nom.bat:

CD\
CD Program Files
CD Microsoft Virtual PC
start VirtualPC.exe
timeout 2
exit

Cette commande redirigera le CMD vers le dossier, lancera VirualPC.exe, attendra 2 secondes et quittera.

avez-vous essayé:

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" "-pc MY-PC -launch"

?

Placez la commande dans un fichier de commandes et appelez-la avec les paramètres.

Aussi, avez-vous déjà essayé? (Déplacer la citation de fin pour encapsuler les paramètres)

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top