我有一个虚拟机在虚拟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启动一个带有多个命令行参数的程序吗?


当前回答

如果必须在任何参数处使用双引号,则会得到错误“‘c:\somepath’不被内部或外部命令、可操作程序或批处理文件识别”。 我建议使用双引号时的解决方案如下: https://stackoverflow.com/a/43467194/3835640

其他回答

空格是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客户端。

如果你想传递参数和你的。exe文件在c:驱动器的测试文件夹

start "parameter" "C:\test\test1.exe" -pc我的名字-pc -启动

如果你不想传递参数和你的.exe文件在c:驱动器的测试文件夹

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

如果您不想在H:(Any Other)驱动器的测试文件夹中传递参数和您的.exe文件

start "" H:\test\test1.exe" -pc我的名字-pc -启动

您可以在桌面上创建快捷方式,而不是批处理文件。

将目标设置为:

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

一切都准备好了。由于您没有启动命令提示符来启动它,因此不会有DOS Box。

/ b参数

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

START有一个特性,在第一个参数周围使用双引号。如果第一个参数有双引号,它将其用作新窗口的可选TITLE。

我相信你想要的是:

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

换句话说,在程序名之前给它一个空的标题来伪装它。