前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bat脚本简化操作

bat脚本简化操作

作者头像
深雾
发布2020-07-10 10:29:57
6690
发布2020-07-10 10:29:57
举报
文章被收录于专栏:工具类工具类

一些常用的操作可以封装成脚本,将excel文件转json文件,策划更新配置文件后,需要给客户端导表,hhh感觉我又在干运维的活。

全渠道更新同理

服务器端配置分为热刷脚本和大版本更新,热刷只更json配置文件

版本更新需要打jar包,并进行停服更新

更新文件提交给运维,当然我们也可以自己部署hhh

开发新功能需要更新jar包,建立版本分支,这里是发布版本给测试服提测 可以参考下

使用脚本后可以节省出大量时间~~

补一个脚本,这是后面的新项目,省去输入时间,加入遍历

代码语言:javascript
复制
@echo off
setlocal enabledelayedexpansion
SET UPDATE_ARGUMENTS_INDEX=1
SET UPDATE_ARGUMENTS[1].EXCEL_PATH=D:\work\UFan\MSG\doc\线上数据-玩吧
SET UPDATE_ARGUMENTS[1].PUBLISH_PATH=.\摩羯\
SET UPDATE_ARGUMENTS[1].UPDATE_PATH=D:\work\UFan\MSG\publish\alpha\update
SET UPDATE_ARGUMENTS[2].EXCEL_PATH=D:\work\UFan\MSG\doc\线上数据-爱微游
SET UPDATE_ARGUMENTS[2].PUBLISH_PATH=.\专区\
SET UPDATE_ARGUMENTS[2].UPDATE_PATH=D:\work\UFan\MSG\publish\alpha\update
SET UPDATE_ARGUMENTS[3].EXCEL_PATH=D:\work\UFan\MSG\doc\线上数据-混服
SET UPDATE_ARGUMENTS[3].PUBLISH_PATH=.\混服\
SET UPDATE_ARGUMENTS[3].UPDATE_PATH=D:\work\UFan\MSG\publish\alpha\update
SET UPDATE_ARGUMENTS[4].EXCEL_PATH=D:\work\UFan\MSG\doc\线上数据-安锋
SET UPDATE_ARGUMENTS[4].PUBLISH_PATH=.\安峰安卓\
SET UPDATE_ARGUMENTS[4].UPDATE_PATH=D:\work\UFan\MSG\publish\alpha\update
SET UPDATE_ARGUMENTS[5].EXCEL_PATH=D:\work\UFan\MSG\doc\微信小游戏
SET UPDATE_ARGUMENTS[5].PUBLISH_PATH=.\微信小游戏\
SET UPDATE_ARGUMENTS[5].UPDATE_PATH=D:\work\UFan\MSG\publish\alpha\update
SET UPDATE_ARGUMENTS_LENGTH=5

:BeginLoop
if %UPDATE_ARGUMENTS_INDEX% GTR %UPDATE_ARGUMENTS_LENGTH%  goto EndLoop
call :update !UPDATE_ARGUMENTS[%UPDATE_ARGUMENTS_INDEX%].EXCEL_PATH! !UPDATE_ARGUMENTS[%UPDATE_ARGUMENTS_INDEX%].PUBLISH_PATH! !UPDATE_ARGUMENTS[%UPDATE_ARGUMENTS_INDEX%].UPDATE_PATH!
set /a UPDATE_ARGUMENTS_INDEX=%UPDATE_ARGUMENTS_INDEX%+1
goto BeginLoop
:EndLoop
pause 
exit

:update
set EXCEL_PATH=%1
set PUBLISH_PATH=%2
set UPDATE_PATH=%3
::更新配置SVN
svn update %EXCEL_PATH%
::解析配置
java -jar D:\work\UFan\MSG\doc\xls-parser-0.0.1-SNAPSHOT\lib/xls-parser-0.0.1-SNAPSHOT.jar %EXCEL_PATH% %EXCEL_PATH%
::更新publish目录
svn update %PUBLISH_PATH%
::拷贝上一次的msg_game目录
set TARGET_PATH=%PUBLISH_PATH%%date:~0,4%-%date:~5,2%-%date:~8,2%\
set SOURCE_PATH=%EXCEL_PATH%\server\
for /f "delims=" %%i in ('dir %PUBLISH_PATH% /b /ad /od') do (set "var_min=%%i")
xcopy %PUBLISH_PATH%%var_min%\msg_game %TARGET_PATH%msg_game\ /e/s/y
xcopy %SOURCE_PATH%common %PUBLISH_PATH%%var_min%\msg_game\config\dataconfig\ /e/s/y
::拷贝配置文件
xcopy %SOURCE_PATH%common %TARGET_PATH%msg_game\config\dataconfig\ /e/s/y
xcopy %SOURCE_PATH%* %TARGET_PATH%update\ /e/s/y
rd /s /q %TARGET_PATH%update\common
::拷贝需要更新的dataconfig至update\config目录(先拷贝到上一次msg_game\config\dataconfig目录,然后拷贝更改的配置,最后还原上一次目录)
md %TARGET_PATH%update\dataconfig

xcopy %SOURCE_PATH%common %PUBLISH_PATH%%var_min%\msg_game\config\dataconfig\ /e/s/y
for /f "delims=^?M " %%i in  ('"svn status %PUBLISH_PATH%%var_min%\msg_game\config\dataconfig"') do ( 
	COPY /y %%i %TARGET_PATH%update\dataconfig\
)
for /f "delims=^? " %%i in  ('"svn status %PUBLISH_PATH%%var_min%\msg_game\config\dataconfig | findstr "?""') do ( 
	del %%i
)
svn revert -R %PUBLISH_PATH%%var_min%\msg_game\config\dataconfig
::拷贝需要更新的lib和config文件
md %TARGET_PATH%update\lib
COPY /y "D:\work\UFan\MSG\publish\alpha\gameserver\lib\msg-gameserver-0.1.1-SNAPSHOT.jar"  "%TARGET_PATH%update\\lib"
COPY /y "D:\work\UFan\MSG\publish\alpha\gameserver\lib\daxiang-framework-0.1.1-SNAPSHOT.jar" "%TARGET_PATH%update\\lib"
COPY /y "D:\work\UFan\MSG\publish\alpha\gameserver\lib\daxiang-shared-0.1.1-SNAPSHOT.jar" "%TARGET_PATH%update\\lib"
xcopy %UPDATE_PATH% %TARGET_PATH%msg_game\ /e/s/y
xcopy %UPDATE_PATH% %TARGET_PATH%update\ /e/s/y
xcopy %TARGET_PATH%update\config %TARGET_PATH%update /e/s/y
rd /s /q %TARGET_PATH%update\config
::新建hotfix目录
md %TARGET_PATH%hotfix
GOTO:EOF
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档