首先,请原谅我的无知,因为我对脚本完全陌生。以下是我计划做的事情
停止服务
(如果我首先检查服务是否存在就好了,否则,它仍然应该继续执行脚本,正确吗?)
检查是否是Win2k或WinXP,根据操作系统类型卸载服务并删除文件
安装新应用程序
启动服务
这是我目前所拥有的。有人可以审查并提出改进方法吗?提前致谢。
@echo off
net stop "service name"
在这里,我想检查服务是否存在,如果是,就继续并停止它,否则,回显“服务未安装”并继续卸载和安装例程,我可以按如下方式操作吗?
if ERRORLEVEL 0 GOTO uninstall_and_install IF NOT echo Service not found GOTO uninstall_and_install
:uninstall_and_install
C:
IF NOT EXIST c:\Windows GOTO Win2k
cd Windows\system32\
"insert commands to uninstall and install
:Win2k
cd Winnt\system32\
"insert commands to uninstall and install
exit
答案1
您可以从下面的例子中得到一些提示。
@echo off
set SERVICENAME=w32time
REM Check if the service is installed
REM ==================================================
sc query %SERVICENAME% > nul 2>nul
if %ERRORLEVEL% == 1060 goto serviceDoesNotExist
:serviceDoesExist
net stop %SERVICENAME%
:serviceDoesNotExist
REM Get Operating System Version
for /F "usebackq delims==" %%i IN (`ver`) DO (set OSVersion=%%i)
echo %OSVersion% | find "Microsoft Windows [Version 6.1.7600]"
if %ERRORLEVEL% NEQ 0 GOTO :windows7
:windows7
echo Install the Application the Windows 7 way