查看: 12943|回复: 23
收起左侧

[分享] 今天写了个vmware服务开关的批处理

  [复制链接]
lyqf365
发表于 2011-3-24 15:32:52 | 显示全部楼层 |阅读模式
本帖最后由 lyqf365 于 2011-3-24 15:34 编辑

今天写了个vmware服务开关的批处理,拿来分享给大家。
第一个,修改vmware的服务为手动启动。在不需要打开虚拟机的时候这些服务不再开机启动,节省一丁点的系统资源。
另外,我还写了在x64系统中将dhcp和nat两个服务的可执行文件位置修正成真实地址的的命令,防止被优化软件误删。这个只需运行一次即可。
  1. @echo off

  2. rem 将服务改成手动
  3. sc config VMAuthdService start= demand >nul
  4. sc config VMnetDHCP start= demand >nul
  5. sc config "VMware NAT Service" start= demand >nul
  6. sc config VMUSBArbService start= demand >nul


  7. if /i %processor_architecture%==AMD64 goto AMD64
  8. if /i %processor_architecture%==x86 goto X86
  9. rem 下面一行是怕取不到processor_architecture变量用的
  10. goto EOF

  11. rem 如果系统是x64,那么下面两个服务的位置实际是在SysWOW64下面
  12. rem 如果用优化软件修复注册表,可能会导致服务不可用
  13. rem 修改面实际物理地址可保证服务不被删除
  14. :AMD64
  15. sc config VMnetDHCP binPath= C:\Windows\SysWOW64\vmnetdhcp.exe >nul
  16. sc config "VMware NAT Service" binPath= C:\Windows\SysWOW64\vmnat.exe >nul
  17. goto EOF


  18. rem 如果错误的将x86的系统中的服务给改了,可以用下面两行修改回来
  19. :X86
  20. sc config VMnetDHCP binPath= C:\Windows\system32\vmnetdhcp.exe >nul
  21. sc config "VMware NAT Service" binPath= C:\Windows\system32\vmnat.exe >nul
  22. goto EOF


  23. rem 处理结束
  24. :EOF

复制代码

第二个,用来开启和关闭vmware的服务的,需要用命令行启动,文件名为vmsc.cmd,将它放在windows目录下面,按win+r打开运行,输入vmsc start可以打开服务,输入vmsc stop可以关闭服务。当然,可能需要有管理员 权限,但是我不开UAC,默认都是管理员权限的。如果不喜欢打命令,可以看后面的两个批处理。
  1. @echo off


  2. rem 有且只能有一个参数
  3. rem 第一个参数不存在
  4. if [%1]==[] goto Err
  5. rem 第二个参数存在
  6. if [%2]==[] goto :OK
  7. goto Err

  8. rem 参数个数正确
  9. :OK
  10. if /i "%1"=="STOP" goto STOP
  11. if /i "%1"=="START" goto _START

  12. rem 参数不正确
  13. :Err
  14. rem echo Error input, Please input "vmsc stop" or "vmsc start"...
  15. echo 输入不正确
  16. echo 请输入:
  17. rem 下面的两行echo 后是一个空格和一个Tab
  18. echo "vmsc stop" 停止服务
  19. echo "vmsc start" 开启服务
  20. rem pause > nul
  21. GOTO EOF


  22. rem 关闭服务
  23. :STOP
  24. echo stop vmware services...
  25. sc stop VMAuthdService > nul
  26. sc stop VMnetDHCP > nul
  27. sc stop "VMware NAT Service" > nul
  28. sc stop VMUSBArbService > nul
  29. echo vmware services have stopped.
  30. goto EOF

  31. rem 打开服务
  32. :_START
  33. echo start vmware services...
  34. sc start VMAuthdService > nul
  35. sc start VMnetDHCP > nul
  36. sc start "VMware NAT Service" >nul
  37. sc start VMUSBArbService > nul
  38. echo vmware services have started.


  39. rem 结束了
  40. :EOF
复制代码

如果你不喜欢用命令开启,可以在将上一个脚本放到windows目录下以后(事实上是在环境变量PATH里的任何一个目录都可以,而我是自己添加了一个C:\User\Public\commadn目录到了PATH里,然后把我自己的一些批处理放到了该目录里)。
再建一个快捷方式,请键入对象位置,输入"vmsc start",下一步的名字随便填成你喜欢的,比如“打开vmware服务”等等,再建一个对象位置是"vmsc stop"的的快捷来关闭服务。
再给大家两个批处理,打开服务用的
  1. @echo off
  2. vmsc start
复制代码
关闭服务用的
  1. @echo off
  2. vmsc stop
复制代码
最后,把批处理上传给不想动手Ctrl+C,Ctrl+v的童鞋

批处理脚本

评分

参与人数 3经验 +25 人气 +1 收起 理由
詩、未詺 + 5 感谢提供分享
kfsilence + 1 加分鼓励
107 + 20 版区有你更精彩: )

查看全部评分

kfsilence
发表于 2011-3-24 17:03:09 | 显示全部楼层
来支持一下。
RQ明天补上。呃...下午吧。
雨之神
发表于 2011-3-24 17:16:49 | 显示全部楼层
楼主强人,必须支持
lyqf365
 楼主| 发表于 2011-3-24 20:04:09 | 显示全部楼层
kfsilence 发表于 2011-3-24 17:03
来支持一下。
RQ明天补上。呃...下午吧。

明天晚上我会来看的,等着你哦
227575206
发表于 2011-3-24 20:55:44 | 显示全部楼层
高手,谢谢啦,收下
kfsilence
发表于 2011-3-24 21:37:54 | 显示全部楼层
回复 4楼 lyqf365 的帖子

这个不需要关注。
说到做到的
shiri
发表于 2011-3-25 09:14:40 | 显示全部楼层
我使用的是dyk158做的VMHelper程序,他那个开关服务简单。
mykfl
发表于 2011-3-25 13:19:31 | 显示全部楼层
楼主高手 谢谢
布卡拉
发表于 2011-3-28 19:29:59 | 显示全部楼层
VM服务都禁止自启动  每次都手动开的 试试看楼主的 感谢分享了
古城背影
头像被屏蔽
发表于 2011-3-28 20:31:37 | 显示全部楼层
我都懒得去管那几个服务...
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-24 17:32 , Processed in 0.150028 second(s), 21 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表