Reputation: 58685
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?
Upvotes: 266
Views: 487825
Reputation: 56371
/b
parameterstart /b "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch
Upvotes: -1
Reputation: 41
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
Upvotes: 4
Reputation: 91
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
Upvotes: 9
Reputation: 1352
If you must use double quotation mark at any parameter, you can get error "'c:\somepath' is not recognized a an internal or external command, operable program or batch file". I suggest below solution when using double qoutation mark: https://stackoverflow.com/a/43467194/3835640
Upvotes: 0
Reputation: 11930
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.
Upvotes: 557
Reputation: 413
If you want passing parameter and your .exe file in test folder of c: drive
start "parameter" "C:\test\test1.exe" -pc My Name-PC -launch
If you won't want passing parameter and your .exe file in test folder of c: drive
start "" "C:\test\test1.exe" -pc My Name-PC -launch
If you won't want passing parameter and your .exe file in test folder of H: (Any Other)drive
start "" "H:\test\test1.exe" -pc My Name-PC -launch
Upvotes: 1
Reputation: 1
The answer in "peculiarity" is correct and directly answers the question. As TimF answered, since the first parameter is in quotes, it is treated as a window title.
Also note that the Virtual PC options are being treated as options to the 'start' command itself, and are not valid for 'start'. This is true for all versions of Windows that have the 'start' command.
This problem with 'start' treating the quoted parameter as a title is even more annoying that just the posted problem. If you run this:
start "some valid command with spaces"
You get a new command prompt window, with the obvious result for a window title. Even more annoying, this new window doesn't inherit customized font, colors or window size, it's just the default for cmd.exe.
Upvotes: 0
Reputation: 1
Change The "Virtual PC.exe" to a name without space like "VirtualPC.exe" in the folder.
When you write start "path"
with "" the CMD starts a new cmd window with the path as the title.
Change the name to a name without space,write this on Notepad and after this save like Name.cmd or Name.bat:
CD\
CD Program Files
CD Microsoft Virtual PC
start VirtualPC.exe
timeout 2
exit
This command will redirect the CMD to the folder,start the VirualPC.exe,wait 2 seconds and exit.
Upvotes: -4
Reputation: 55
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.
Upvotes: 3
Reputation: 1205
Put the command inside a batch file, and call that with the parameters.
Also, did you try this yet? (Move end quote to encapsulate parameters)
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"
Upvotes: -4
Reputation: 27120
have you tried:
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" "-pc MY-PC -launch"
?
Upvotes: -4
Reputation: 100658
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.
Upvotes: 17