Using the "start" command with parameters passed to the started program
I have a Virtual Machine in Virtual PC 2007.
To start it from the desktop, I have the following command in a batch file:
"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch
But that leaves a dos prompt on the host machine until the virtual machine shuts down, and I exit out of the Virtual PC console. That's annoying.
So I changed my command to use the START command, instead:
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch
But it chokes on the parameters passed into Virtual PC.
START /?
indicates that parameters do indeed go in that location. Has anyone used START to launch a program with multiple command-line arguments?
Solution 1:
START has a peculiarity involving double quotes around the first parameter. If the first parameter has double quotes it uses that as the optional TITLE for the new window.
I believe what you want is:
start "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch
In other words, give it an empty title before the name of the program to fake it out.
Solution 2:
Instead of a batch file, you can create a shortcut on the desktop.
Set the target to:
"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch
and you're all set. Since you're not starting up a command prompt to launch it, there will be no DOS Box.
Solution 3:
The spaces are DOSs/CMDs Problems so you should go to the Path via:
cd "c:\program files\Microsoft Virtual PC"
and then simply start VPC via:
start Virtual~1.exe -pc MY-PC -launch
~1
means the first exe
with "Virtual"
at the beginning. So if there is a "Virtual PC.exe"
and a "Virtual PC1.exe"
the first would be the Virtual~1.exe
and the second Virtual~2.exe
and so on.
Or use a VNC-Client like VirtualBox.
Solution 4:
You can use quotes by using the [/D"Path"
] use /D
only for specifying the path and not the path+program. It appears that all code on the same line that follows goes back to normal meaning you don't need to separate path and file.
start /D "C:\Program Files\Internet Explorer\" IEXPLORE.EXE
or:
start /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE
will start IE with default web page.
start /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE www.bing.com
starts with Bing, but does not reset your home page.
/D
stands for "directory" and using quotes is OK!
WRONG EXAMPLE:
start /D "TITLE" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
gives:
ERROR "The current directory is invalid."
/D
must only be followed by a directory path. Then space and the batchfile or program you wish to start/run
Tested and works under XP but windows Vista/7/8 may need some adjustments to UAC.
-Mrbios
Solution 5:
None of these answers worked for me.
Instead, I had to use the Call command:
Call "\\Path To Program\Program.exe" <parameters>
I'm not sure this actually waits for completion... the C++ Redistributable I was installing went fast enough that it didn't matter