我有一个虚拟机在虚拟PC 2007。

要从桌面启动它,我在批处理文件中有以下命令:

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

但是这会在主机上留下dos提示符,直到虚拟机关闭,我退出virtual PC控制台。这是令人讨厌的。

所以我把我的命令改为使用START命令:

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

但是传入Virtual PC的参数会阻塞。

开始/ ?指示参数确实位于该位置。有人用START启动一个带有多个命令行参数的程序吗?


当前回答

你可以通过使用[/D"Path"] use /D只指定路径而不是路径+程序来使用引号。接下来同一行上的所有代码似乎都恢复正常,这意味着您不需要分开路径和文件。

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

or:

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

将以默认网页启动IE。

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

启动必应,但不重置你的主页。

/D代表“目录”,使用引号是可以的!

错误的例子:

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

给:

当前目录无效。

/D后面只能跟目录路径。然后空格和要启动/运行的批处理文件或程序

经过测试,在XP下工作,但windows Vista/7/8可能需要对UAC进行一些调整。

-Mrbios

其他回答

空格是DOSs/CMDs问题,所以你应该通过:

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

然后通过以下方式启动VPC:

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

~1表示第一个以“Virtual”开头的exe。因此,如果有一个“虚拟PC.exe”和一个“虚拟PC.exe”,第一个将是Virtual~1.exe,第二个Virtual~2.exe,以此类推。

或者使用像VirtualBox这样的vnc客户端。

将命令放入一个批处理文件中,并使用参数调用该文件。

还有,你试过这个吗?(移动结束引号以封装参数)

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

“怪癖”中的答案是正确的,直接回答了问题。正如TimF回答的那样,由于第一个参数是引号,因此它被视为窗口标题。

还要注意,Virtual PC选项被视为'start'命令本身的选项,对'start'无效。这适用于所有有'start'命令的Windows版本。

这个问题'start'处理引用参数作为标题是更恼人的,只是张贴的问题。如果你运行这个:

start "some valid command with spaces"

您将得到一个新的命令提示窗口,其结果是一个窗口标题。 更烦人的是,这个新窗口没有继承自定义的字体、颜色或窗口大小,它只是cmd.exe的默认值。

你有没有试过:

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

?

你可以通过使用[/D"Path"] use /D只指定路径而不是路径+程序来使用引号。接下来同一行上的所有代码似乎都恢复正常,这意味着您不需要分开路径和文件。

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

or:

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

将以默认网页启动IE。

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

启动必应,但不重置你的主页。

/D代表“目录”,使用引号是可以的!

错误的例子:

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

给:

当前目录无效。

/D后面只能跟目录路径。然后空格和要启动/运行的批处理文件或程序

经过测试,在XP下工作,但windows Vista/7/8可能需要对UAC进行一些调整。

-Mrbios