自动化工作之自动更新SVN
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/4592063.html
任务计划程序#
任务计划程序是Window自带的组件
微软文档#
打开方法#
方法一:开始菜单\ 控制面板 \管理工具 \任务计划程序
方法二:开始菜单\ 所有程序 \ 附件 \ 系统工具 \ 任务计划程序
在这儿可以创建任务,让它按我们的计划去做我们想做的事。
自动更新SVN#
TortoiseSVN文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
使用TortoiseSVN的TortoiseProc.exe进行更新SVN,
参考资料:http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-automation.html
tortoisesvn提供的api#
XXXX\TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
实现代码#
更新svn.bat#
1、创建一个bat文件,命名为:更新SVN.bat 。内容如下:
@echo off @echo ================自动更新SVN Start=============== rem SVN安装目录 SET svn_home=D:\Program Files\TortoiseSVN\bin rem SVN项目目录 SET svn_work=D:\Code\Unity3D\SVN\cosmosbox\cosmosbox rem SVN日志目录 remSET setup_path=D:\ @echo 正在更新目录 %svn_work% Echo 正在杀死进程... rem excel和word如果打开状态,会导致不能正常更新,所以要把进程结束,我机器安装的是WPS taskkill /f /im et.exe taskkill /f /im wps.exe Echo 杀死进程完毕 rem 检查日志文件 rem if 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" /F pause
运行方法#
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窗口进行更新#
批处理脚本#
@echo off Echo 正在杀死进程... rem 把WPS相关的进程 Kill避免更新过程中lock taskkill /f /im et.exe taskkill /f /im wps.exe taskkill /F /IM "TortoiseProc.exe" Echo 杀死进程完毕 rem cosmosbox ,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-op start TortoiseProc.exe /command:update /path:trunk rem参考 http://chevy.iteye.com/blog/1271797 rem http://www.cnblogs.com/luomingui/archive/2012/09/09/2678045.html
方法二:在同一个SVN窗口更新多个不同的SVN库#
批处理脚本#
@echo off @echo ================自动更新SVN Start=============== rem SVN安装目录 SET svn_home=C:\Program Files\TortoiseSVN\bin rem SVN项目目录 SET svn_work_code=X:\xxgame\xx_code_vn SET svn_work_gameres=X:\xxgame\xx_scheme_vn SET svn_work_product=X:\xxgame\xx_product_vn @echo 正在更新目录 %svn_work_code%,%svn_work_gameres%,%svn_work_product% rem excel和word如果打开状态,会导致不能正常更新,所以要把进程结束(区分wps或office进程) rem taskkill /f /im et.exe rem taskkill /f /im wps.exe rem Echo 杀死进程完毕 rem 执行SVN更新命令,更新对话框不自动关闭 "%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work_code%*%svn_work_gameres%*%svn_work_product%" /notempfile /closeonend:0 echo ==============自动更新SVN Finish==============
作者:赵青青 一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
分类:
Lua/JS/Shell等脚本语言
, 我的随笔
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
2014-06-21 Unity 4.6 GUI
2014-06-21 [cb]SceneView 获取鼠标位置
2014-06-21 將UNITY作品上傳到Facebook App!
2014-06-21 Unity Chan 3D Asset
2014-06-21 Unity Chan 2D Asset