话不多说,有兴趣的自己可以仔细研究下涉及的命令: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

参考资料

net use and sc

robocopy

[2016-09-23]远程安装、更新windows服务bat脚本分享的更多相关文章

  1. MongoDB安装成为Windows服务及日常使用遇到问题总结

    安装MongoDB: http://blog.csdn.net/liuzhoulong/article/details/6124566 严格按照上面的步骤,设置数据库目录,设置日志目录,安装服务.可是 ...

  2. 【先定一个小目标】Redis 安装成windows服务-开机自启

    1.第一步安装成windows服务的,开机自启动 redis-server --service-install redis.windows.conf 2.启动\关闭 redis-server --se ...

  3. MongoDB配置服务--MongoDB安装成为windows服务

    MongoDB安装成为windows服务 1.打开命令提示符(最好以管理员的身份打开),然后输入: mongod --logpath "D:\MongoDB\data\log\logs.tx ...

  4. 用 nssm 把 Nginx 安装成 Windows 服务方法

    总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装N ...

  5. Java的jar文件安装成windows 服务

    Java的jar文件安装成windows 服务: 1.下载:nssm,复制到jar文件目录下 2. jar文件目录下创建bat文件[run.bat],内容为[java -jar 文件名.jar] 3. ...

  6. mongodb 安装为windows服务

    mongodb 安装为windows服务: 以管理员身份运行下面的命令: mongod --install --rest --dbpath e:\data\mongo --logpath e:\dat ...

  7. 使用instsrv.exe+srvany.exe将应用程序安装为windows服务[转]

      转自:http://qingmu.blog.51cto.com/4571483/1248649 一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany ...

  8. Nginx 安装成 Windows 服务

    Nginx 安装成Windows 服务方法,具体方法如下 1. 下载nginx windows版本 http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe.srv ...

  9. Redis是可以安装成windows服务-开机自启

    其实Redis是可以安装成windows服务的,开机自启动,命令如下 redis-server --service-install redis.windows.conf 安装完之后,就可看到Redis ...

随机推荐

  1. (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍

    场景:最近在学习Linux的基础知识,不可避免的设计到Linux的磁盘分区,以前做过总结,但是那种总结就是复制别人的文章,总结完就不想看第二遍,所以很容易就遗忘了!清楚明白的理解分区后,我就可以在自己 ...

  2. 【HTML】ie=edge(转)

    < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 这是个是 ...

  3. ThreadLocal源码分析(转)

    阅读总结: ThreadLocal内部使用静态map存储,每个变量对应一个hashcode,不需要指定key值,后台动态生成,good! 每个变量ThreadLocal内部分配Entry,获取值时,通 ...

  4. 5.spark弹性分布式数据集

    弹性分布式数据集 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹性分布式数据集 ...

  5. 一次浴火重生的MySQL优化(EXPLAIN命令详解)

    一直对SQL优化的技能心存无限的向往,之前面试的时候有很多面试官都会来一句,你会优化吗?我说我不太会,这时可能很多人就会有点儿说法了,比如会说不要使用通配符*去检索表.给常常使用的列建立索引.还有创建 ...

  6. Linux下 两台机器文件/文件夹 相互拷贝

    Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...

  7. python-桶排序

    桶排序 通排序非常浪费空间, 比如需要排序的范围在0~2000之间, 需要排序的数是[3,9,4,2000], 同样需要2001个空间 注意: 通排序不能排序小数 以下为从小到大代码实现 #!/usr ...

  8. 带着SMART原则重新出发

    很久以来,对分布式系统都比较感兴趣,但工作中却接触不到,“虽不能至,心向往之”,于是打算自己学.分布式系统领域概念很多,错综复杂,一些理论也比较难以理解,要想学习的话还是得下一番功夫.于是在来两个月前 ...

  9. STextComboBox & SComboBox

    //简单智能 SNew(STextComboBox).ContentPadding(5).OptionsSource(&Options).InitiallySelectedItem(Optio ...

  10. 敏捷开发之产品日日新,一步通之---自动化代码构建->自动化打包->自动化安装部署

    本文将介绍如何自动化实现代码构建,自动化代码打包成exe安装包,自动化安装到测试环境.通过计划任务的方式,每天自动化发布最新的产品供老板展示,供测试人员使用,真正实现敏捷的快速迭代. 自动代码构建 自 ...