批处理启动或关闭VMware服务(转载)

VMWare 确实是好东西,不过安装之后会增加四个自动启动的服务以及两个虚拟的网络连接。我是比较讨厌这种没事就占着系统资源的东西,何况也不是经常要用着 VMWare ,所以写了个批处理脚本来自动启动/关闭 VMWare 虚拟机以及相关的服务和网络连接。
完整批处理文件内容如下:


1 @echo On  
2 @PROMPT [VMWareController]#   
3   
4 @if "%1" == "" goto Help   
5 @if "%1" == "help" goto Help   
6 @if "%1" == "/?" goto Help   
7   
8 @SET oprType=%1   
9 @SET netOpr=%oprType%   
10   
11 @if "%oprType%" == "start" @SET netOpr=enable   
12 @if "%oprType%" == "stop" @SET netOpr=disable   
13   
14 @SET vmxFile=%2   
15 @Rem 如果没有提供第二个参数vmx full path,将尝试使用这里设定的缺省虚拟机   
16 @Rem 根据需要把这个文件修改为实际希望启动的vmx文件   
17 @if "%vmxFile%" == "" @SET vmxFile=D:\VMWare\Red Hat Enterprise Linux 3.vmx   
18   
19 @Rem VMWare的安装目录,根据需要进行修改   
20 @SET vmwareFolder=E:\AppTool\VMWare   
21   
22 @Rem 把VMWare相关的四个服务设置为手动   
23 sc config VMAuthdService start= demand   
24 sc config VMnetDHCP start= demand   
25 sc config "VMware NAT Service" start= demand   
26 sc config vmount2 start= demand   
27   
28 @Rem 启动/停止VMWare相关的四个服务   
29 net %oprType% "VMware Authorization Service"  
30 net %oprType% "VMware DHCP Service"  
31 net %oprType% "VMware NAT Service"  
32 net %oprType% "VMware Virtual Mount Manager Extended"  
33   
34 @Rem 这里使用通配符来停用/启用所有vmnet相关的网络连接   
35 devcon %netOpr% *vmnet*   
36   
37 @Rem 使用vmrun来运行指定的虚拟机   
38 "%vmwareFolder%\vmrun" %oprType% "%vmxFile%"    
39   
40 @goto EndMission   
41   
42 :Help   
43 @echo 自动启动/停止指定的 VMWare 虚拟机以及相关的服务和网络连接   
44 @echo 需要 devcon 工具来控制网络连接。工具下载地址:   
45 @echo http://support.microsoft.com/kb/311272/zh-cn   
46 @echo 命令行参数:   
47 @echo %0 [start^|stop] ^   
48 @echo ^为缺省启动的虚拟机配置文件   
49 @pause   
50 goto EndMission   
51   
52 :EndMission   
view plain | print | copy to clipboard | ? 
@echo On
@PROMPT [VMWareController]#

@if "%1" == "" goto Help
@if "%1" == "help" goto Help
@if "%1" == "/?" goto Help

@SET oprType=%1
@SET netOpr=%oprType%

@if "%oprType%" == "start" @SET netOpr=enable
@if "%oprType%" == "stop" @SET netOpr=disable

@SET vmxFile=%2
@Rem 如果没有提供第二个参数vmx full path,将尝试使用这里设定的缺省虚拟机
@Rem 根据需要把这个文件修改为实际希望启动的vmx文件
@if "%vmxFile%" == "" @SET vmxFile=D:\VMWare\Red Hat Enterprise Linux 3.vmx

@Rem VMWare的安装目录,根据需要进行修改
@SET vmwareFolder=E:\AppTool\VMWare

@Rem 把VMWare相关的四个服务设置为手动
sc config VMAuthdService start= demand
sc config VMnetDHCP start= demand
sc config "VMware NAT Service" start= demand
sc config vmount2 start= demand

@Rem 启动/停止VMWare相关的四个服务
net %oprType% "VMware Authorization Service"
net %oprType% "VMware DHCP Service"
net %oprType% "VMware NAT Service"
net %oprType% "VMware Virtual Mount Manager Extended"

@Rem 这里使用通配符来停用/启用所有vmnet相关的网络连接
devcon %netOpr% *vmnet*

@Rem 使用vmrun来运行指定的虚拟机
"%vmwareFolder%\vmrun" %oprType% "%vmxFile%" 

@goto EndMission

:Help
@echo 自动启动/停止指定的 VMWare 虚拟机以及相关的服务和网络连接
@echo 需要 devcon 工具来控制网络连接。工具下载地址:
@echo http://support.microsoft.com/kb/311272/zh-cn
@echo 命令行参数:
@echo %0 [start^|stop] ^
@echo ^为缺省启动的虚拟机配置文件
@pause
goto EndMission

:EndMission


  把以上代码保存为 .bat 文件,并创建两个指向该 .bat 文件的快捷方式,并分别给两个快捷方式加上 start / stop 参数(也可以再提供第二个参数来指定启动特定的虚拟机配置文件),就可以通过快捷方式直接启动/停止 VMWare 相关的虚拟机和服务。

  其中使用了 devcon 工具来控制网络连接的停用/启用,需要到微软网站下载该工具。

  注意:如果你的系统中存在其他硬件ID包含 *vmnet* 字符串的话会把所有相关的设备同时都禁用/启用。你可以在命令行下输入 devcon find *vmnet* 先检查一下是否只匹配到 VMWare 所添加的两个虚拟网络连接。

  用 vmrun 关闭虚拟机的时候作用等同于在操作界面的 Power Off 按钮。所以最好在执行批处理之前使用虚拟操作系统的 shutdown 命令先安全退出操作系统。

转载于:https://www.cnblogs.com/lxy2015/p/4643909.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值