1.前言

在某些情况下,我们的虚拟机可能会断网运行,碰巧此时在物理机下需要运行自动化程序,虚拟机也要同步运行,但是虚拟机断网了,也没办法使用SSH或者其他交互方式,那此时怎么办呢?

2.在物理机上指定虚拟机运行指令

2.1VMrun

我们的VMware在安装时,也同步安装了一个叫做VMrun的工具,它可以方便的使用命令行控制虚拟机的开关机、文件拷贝、命令运行、状态显示等,我们首先找到VMrun所在的位置(如果在VMware安装时使用默认路径,则为C:\Program Files (x86)\VMware\VMware Workstation),然后将其路径添加到环境变量,就可以在任意路径下使用VMrun工具了。

2.2使用方式

打开一个命令行,可以使用list命令查看当前已经打开的虚拟机

C:\Users\13588>vmrun -T ws list
Total running VMs: 1
D:\win10_vm\Win10\Win10.vmx

可以看到,当前打开了一个虚拟机以及虚拟机的详细路径

然后在命令行输入

vmrun -T ws -gu <用户名> -gp <密码> runProgramInGuest "虚拟机路径" -activeWindow -interactive "要运行的命令"
-activeWindow: 在虚拟机中打开一个活动的窗口。
-interactive: 使命令在交互模式下运行。

就可以在物理机上运行虚拟机内的指令
比如,我们要运行上述win10虚拟机桌面上的一个bat文件,就可以输入以下命令:

vmrun -T ws -gu XXX -gp YYYYYY  runProgramInGuest "D:\win10_vm\Win10\Win10.vmx" -activeWindow -interactive "C:\Users\zpy\Desktop\test.bat"

3.VMrun其他功能

  • 启动虚拟机:
    vmrun -T <类型> start "虚拟机路径" [gui]
    <类型>: 虚拟化平台类型,如 "ws" 表示 Workstation。
    "虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
    GUI: 可选参数,如果提供,虚拟机将在图形用户界面(GUI)中启动。
  • 停止虚拟机:
    vmrun -T <类型> stop "虚拟机路径" [硬关机选项]
    <类型>: 虚拟化平台类型。
    "虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
    硬关机选项: 可选参数,用于指定停止虚拟机的方式,如 -hard 强制关闭,相当于断电;-soft软关机,相当于关机指令
  • 在虚拟机内复制文件到主机
    vmrun -T <类型> -gu <用户名> -gp <密码> copyFileFromGuestToHost "虚拟机路径" "虚拟机文件" "主机路径"
    <类型>: 虚拟化平台类型。
    -gu: 虚拟机内的用户名。
    -gp: 虚拟机内的密码。
    "虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
    "虚拟机文件": 要复制的文件在虚拟机内的路径。
    "主机路径": 要复制到的主机路径。
文章目录