标签:
相对而言,还是比较通用的吧,如果哪位仁兄有更好的实现方式,或者发现有不足之处,还请多多指教。 
@echo off
echo.--------------------------------------------------
echo.----		技术支持:CC          --------
echo.----		今天是%date% 	  --------
echo.--------------------------------------------------
echo.正在检测服务是否已经创建,请稍后...
sc query NJFKReportAnalyticalService >nul && goto :StartServer || goto :Install
:Install
set /p choice=Windows 该服务尚未安装,是否进行安装?y(是)/n(否)请选择:
if /i "%choice%"=="y" (
	sc create NJFKReportAnalyticalService binPath= "%~dp0NJFKReportAnalytical.exe"
	echo. ------------服务创建完成。------------
	)
goto :StartServer
:StartServer
echo.正在检测服务运行状态,请稍后...
net start|findstr /i /c:"NJFKReportAnalyticalService">null && goto :StopServer
set /p choice=Windows 是否开启NJFKReportAnalyticalService(南京报文解析服务)服务?请选择y(是)/n(否):
if /i "%choice%"=="y" (
	echo. 服务启动中...
	net start NJFKReportAnalyticalService
	echo. ------------服务已启动------------
	goto :ConfigServer
	)
if /i "%choice%"=="n" goto :no
echo. 输入无效请重新输入.
goto :funish
:StopServer
echo.服务运行中....
set /p choice=Windows 是否停止NJFKReportAnalyticalService(南京报文解析服务)服务?请选择y(是)/n(否):
if /i "%choice%"=="y" (
	echo. 服务停止中...
	net stop NJFKReportAnalyticalService
	echo. ------------服务已停止------------
	goto :funish
	)
if /i "%choice%"=="n" goto :no
echo. 输入无效请重新输入.
:ConfigServer
set /p choice=Windows 是否开启开机随系统自动运行?请选择y(是)/n(否):
if /i "%choice%"=="y" (
	echo.服务自动开启配置中...
	sc config NJFKReportAnalyticalService start= AUTO
	echo.------------自动开启配置完成------------
	goto :funish
)
if /i "%choice%"=="n" goto :no
:funish
echo. 操作已完成&&goto :no
:no 
pause	
 
有几个小点要注意,就是
1,判断服务是否已经创建
2,判断windows服务运行状态
3,关于文件路径的获取方式。 
 
windows服务,安装、启动、停止,配置,一个批处理文件搞定
标签:
原文地址:http://www.cnblogs.com/Tmc-Blog/p/4920537.html