身为IT界的小生来说,很多时候,我们会用到批处理,而可进行选择性的执行相关命令更是我们所需要的。近期,我这边遇到几个程序问题,程序本身有自己创建的服务,但是这些服务总是被杀毒卫士杀掉,比如某60,某管家,某杀毒,要重新修复这些服务,必须重新安装,但是卸载吧,又提示,服务不存在,开发没办法,只能让重装电脑系统,但是这代价太大了吧也,我想到,既然卸载时需要有一个服务,为何不创建一个服务,让其检测到,这样卸载不就ok了吗,所以我的思路是:必须创建出和原来服务一样的服务,进而进行卸载,重新安装生成服务。(有的人问,为什么不创建了服务就可以使用了,这是因为我不了解那些服务本身是怎样与系统关联的,比如依赖哪些我不清楚,我只能创建一个看起来差不多的服务,能正常卸载而已)
请看下面一段批处理命令,看后就可以举一反三了:
- :loop
- @echo off&color 0A
- echo. ================================
- echo. 请先确认当前电脑是分机还是主机,选择性的执行命令;本文件仅适用于服务被杀毒软件杀掉之后使用,使用后,再次运行软件,便可正常卸载,然后正常安装软件即可。
- echo. ===============================================
- echo. 命令1:分机需要执行
- echo. 命令2:主机需要执行
- echo. 命令执行后按任意键退出
- echo. ===============================================
- set /p a=请输入命令并回车,退出按“Q”:
- if “%a%”==“1” goto :1
- if “%a%”==“2” goto :2
- if /i “%a%”==“q” goto :end
- color 84
- cls&echo,&echo, 输入错误请核对
- echo,&echo, 你输入的是【%a%】
- echo,&echo, 请安静地等待三秒后再次输入!。
- ping -n 5 127.1>nul
- cls&goto :loop
- :1
- sc create C21LocalService DisplayName= C21应用程序本地服务 binpath= “C:\Program Files (x86)\C21\Upgrade Local Service\Service\LocalService.exe” start= auto
- pause>nul
- goto:end
- :2
- echo 开始创建C21IMPShopService
- sc create C21IMPShopService DisplayName= C21IMPShopService binpath= “C:\Program Files (x86)\C21\ShopServer\C21.IMP.Framework.Service.ShopWindowsService.exe” depend= Netman start= auto
- echo 开始创建C21自动升级代理服务
- sc create C21UpgradeBroker DisplayName= C21自动升级代理服务 binpath= “C:\Program Files (x86)\C21\Upgrade Broker Server\Service\UpgradeBrokerServer.exe” start= auto
- echo 开始创建C21应用程序本地服务
- sc create C21LocalService DisplayName= C21应用程序本地服务 binpath= “C:\Program Files (x86)\C21\Upgrade Local Service\Service\LocalService.exe” start= auto
- pause>nul
- :end
- exit
这段批处理命令是选择性的创建几个系统服务,如果选择1,那么创建一个服务,选择2,创建3个服务,这几个服务都是我经常用到的(开发不给力,我能怎么着),运行下面后,如下: