doctor java svn自动化_自动化工作之自动更新SVN

任务计划程序

任务计划程序是Window自带的组件

adb54e2daa75e526047fb4df40042b0d.png

微软文档

打开方法

方法一:开始菜单\ 控制面板 \管理工具 \任务计划程序

方法二:开始菜单\ 所有程序 \ 附件 \ 系统工具 \ 任务计划程序

d3e991a54b6312f8006786e27bf62270.png

在这儿可以创建任务,让它按我们的计划去做我们想做的事。

自动更新SVN

使用TortoiseSVN的TortoiseProc.exe进行更新SVN,

tortoisesvn提供的api

XXXX\TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

实现代码

更新svn.bat

1、创建一个bat文件,命名为:更新SVN.bat 。内容如下:

@echo off

@echo ================自动更新SVN Start===============

remSVN安装目录

SET svn_home=D:\Program Files\TortoiseSVN\binremSVN项目目录

SET svn_work=D:\Code\Unity3D\SVN\cosmosbox\cosmosboxremSVN日志目录

remSET setup_path=D:\

@echo正在更新目录 %svn_work%Echo 正在杀死进程...

remexcel和word如果打开状态,会导致不能正常更新,所以要把进程结束,我机器安装的是WPS

taskkill /f /im et.exe

taskkill/f /im wps.exeEcho杀死进程完毕rem检查日志文件remif exist "%setup_path%"\autoUpdate.log (echo update: %date% %time% >> "%setup_path%"\autoUpdate.log) else echo create: %date% %time% >"%setup_path%"\autoUpdate.log

rem执行SVN更新命令,更新对话框不自动关闭

"%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work%" /notempfile /closeonend:0

echo ==============自动更新SVN Finish==============

pause

创建计划任务.bat

2、再创建一个bat文件,命名为:创建计划任务.bat。内容如下

@echo添加计划任务rem把"更新SVN.bat"和此bat放在同一目录,双击即可创建计划任务,每天7:00自动执行此bat

SCHTASKS /Create /SC DAILY /ST 07:00:00 /TN "自动更新SVN" /TR "%~sdp0更新SVN.bat" /Fpause

运行方法

3、把1,2中创建的bat放在同一目录下,修改成自己的SVN和TortoiseSVN的安装目录。

双击 创建计划任务.bat ,在任务计划程序中查看任务是否创建成功

可能遇到的问题

4、双击 更新SVN.bat查看是否能正常更新SVN,如果出现 Two top-level reports with no target   或SVN跳过错误不能更新SVN。

请检查bat文件中空格是否正确,把bat放置在SVN目录外,再重试。

同时更新多个SVN库

如果有多个SVN库,需要同时更新的话,

方法一:同时打开多个svn窗口进行更新

9504be5de75508e8b5b3b18667169813.png

批处理脚本

@echo off

Echo 正在杀死进程...

rem把WPS相关的进程 Kill避免更新过程中lock

taskkill /f /im et.exe

taskkill/f /im wps.exe

taskkill/F /IM "TortoiseProc.exe"

Echo杀死进程完毕remcosmosbox ,strikehero_art,cosmosbox , trunk 是四个不同的svn库

start TortoiseProc.exe /command:update /path:cosmosbox

start TortoiseProc.exe /command:update /path:strikehero_art

start TortoiseProc.exe /command:update /path:cosmosbox-opstart TortoiseProc.exe /command:update /path:trunkrem参考 http://chevy.iteye.com/blog/1271797

remhttp://www.cnblogs.com/luomingui/archive/2012/09/09/2678045.html

方法二:在同一个SVN窗口更新多个不同的SVN库

0a903bacaedee5682152b848b070bc60.png

批处理脚本

@echo off

@echo ================自动更新SVN Start===============

remSVN安装目录

SET svn_home=C:\Program Files\TortoiseSVN\binremSVN项目目录

SET svn_work_code=X:\xxgame\xx_code_vnSET svn_work_gameres=X:\xxgame\xx_scheme_vnSET svn_work_product=X:\xxgame\xx_product_vn@echo 正在更新目录 %svn_work_code%,%svn_work_gameres%,%svn_work_product%remexcel和word如果打开状态,会导致不能正常更新,所以要把进程结束(区分wps或office进程)remtaskkill /f /im et.exeremtaskkill /f /im wps.exeremEcho 杀死进程完毕

rem执行SVN更新命令,更新对话框不自动关闭

"%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work_code%*%svn_work_gameres%*%svn_work_product%" /notempfile /closeonend:0

echo ==============自动更新SVN Finish==============

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值