[2016-09-23]远程安装、更新windows服务bat脚本分享
话不多说,有兴趣的自己可以仔细研究下涉及的命令:net use、sc、robocopy
脚本
set BuildConfig=【ENV】
set BuildExeName=【your_exe_name】.exe
set BuildProjectBinPath=【path\to\bin】\%BuildConfig%
set DeployServiceName=【your_service_name】
set DeployServer=\\【your_server_name】
set DeployServerUserName=【userName】
set DeployServerPassword=【password】
set DeployRootPath=d$\Services
set InstallRootPath=D:\Services
set SLEEP=ping 127.0.0.1 /n
echo "Config Transform..."
copy %BuildProjectBinPath%\App.%BuildConfig%.config %BuildProjectBinPath%\%BuildExeName%.config /Y
echo "create net use link"
net use %DeployServer%\%DeployRootPath% %DeployServerPassword% /user:%DeployServerUserName%
echo "query service exists or not..."
sc %DeployServer% query %DeployServiceName%
if errorlevel 1060 goto :createNewService
goto :updateExistService
:createNewService
echo "start create New Service..."
echo "robocopy files..."
robocopy %BuildProjectBinPath%\ %DeployServer%\%DeployRootPath%\%DeployServiceName%\ /E
echo "sc create ..."
sc %DeployServer% create %DeployServiceName% displayName= %DeployServiceName% binPath= %InstallRootPath%\%DeployServiceName%\%BuildExeName% start= auto
echo "sc start ..."
sc %DeployServer% start %DeployServiceName%
goto :exit
:updateExistService
echo "start update Exist Service..."
echo "stop service..."
sc %DeployServer% query %DeployServiceName% | find /I "STATE" | find "STOPPED"
if errorlevel 1 goto :stop
goto :start
:stop
echo "try to stop service..."
sc %DeployServer% stop %DeployServiceName%
%SLEEP% 4 > nul
sc %DeployServer% query %DeployServiceName% | find /I "STATE" | find "STOPPED"
if errorlevel 1 goto :stop
echo "stop service Success!"
goto :start
:start
echo "robocopy files..."
robocopy %BuildProjectBinPath%\ %DeployServer%\%DeployRootPath%\%DeployServiceName%\ /E
echo "start service..."
sc %DeployServer% start %DeployServiceName%
goto :exit
:exit
参考资料
[2016-09-23]远程安装、更新windows服务bat脚本分享的更多相关文章
- MongoDB安装成为Windows服务及日常使用遇到问题总结
安装MongoDB: http://blog.csdn.net/liuzhoulong/article/details/6124566 严格按照上面的步骤,设置数据库目录,设置日志目录,安装服务.可是 ...
- 【先定一个小目标】Redis 安装成windows服务-开机自启
1.第一步安装成windows服务的,开机自启动 redis-server --service-install redis.windows.conf 2.启动\关闭 redis-server --se ...
- MongoDB配置服务--MongoDB安装成为windows服务
MongoDB安装成为windows服务 1.打开命令提示符(最好以管理员的身份打开),然后输入: mongod --logpath "D:\MongoDB\data\log\logs.tx ...
- 用 nssm 把 Nginx 安装成 Windows 服务方法
总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装N ...
- Java的jar文件安装成windows 服务
Java的jar文件安装成windows 服务: 1.下载:nssm,复制到jar文件目录下 2. jar文件目录下创建bat文件[run.bat],内容为[java -jar 文件名.jar] 3. ...
- mongodb 安装为windows服务
mongodb 安装为windows服务: 以管理员身份运行下面的命令: mongod --install --rest --dbpath e:\data\mongo --logpath e:\dat ...
- 使用instsrv.exe+srvany.exe将应用程序安装为windows服务[转]
转自:http://qingmu.blog.51cto.com/4571483/1248649 一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany ...
- Nginx 安装成 Windows 服务
Nginx 安装成Windows 服务方法,具体方法如下 1. 下载nginx windows版本 http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe.srv ...
- Redis是可以安装成windows服务-开机自启
其实Redis是可以安装成windows服务的,开机自启动,命令如下 redis-server --service-install redis.windows.conf 安装完之后,就可看到Redis ...
随机推荐
- HDU - 4995 - Revenge of kNN
题目链接 : https://vjudge.net/problem/HDU-4995 题目大意 : 读入n个点的坐标与该点所拥有的值val,进行m次查询,对于每一次查询,读入该点的坐标,计算离该 ...
- Javascript跨域后台设置拦截
子域名之间互相访问需要跨域 结论放在开头: 服务端必须设置允许跨域 客户端带cookie需要设置withCredentials 无论服务端是否允许跨域,该request都会完整执行 options预请 ...
- Making the Grade (bzoj1592)
题目描述 FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了N ...
- viewpager+layout布局文件随数据多少创建滑动页面
近期在做一个答题类型的APP,而其中最重要的是答题卡.而答题卡要如何做? 1.将数据插入到SQLite数据库中 2.建立entity实体包,创建实体类,封装. 3.创建实体与view的List集合 4 ...
- akoj-1073- Let the Balloon Rise
Let the Balloon Rise Time Limit:1000MS Memory Limit:65536K Total Submit:92 Accepted:58 Description ...
- css小随笔(二)与通用样式
51先在学校HTML5已经有半个多月了,然后这个星期做了一个京东的手机网站,接触到了通用样式,下面以京东的手机站为例 这两个就是京东手机站了的不同的两个板块,因为HTML5仅仅只是学完了基本标签跟cs ...
- 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸
多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...
- vue学习笔记(1)—— 组件化实现todoList
一.环境搭建 1.npm 大型应用时推荐用npm安装,npm能很好的和webpack等模块打包器配合使用.具体安装步骤请参考网上的诸多教程.完成后使用如下命令安装vue. $ npm install ...
- jQuery.extend 使用函数
介绍 jQuery.extend([deep], target, object1, [objectN])用一个或多个其他对象来扩展一个对象,返回被扩展的对象.如果不指定target,则给jQuery对 ...
- JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表
本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上. 对 ...