任务计划程序

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

微软文档

http://windows.microsoft.com/zh-cn/windows-vista/automate-tasks-with-task-scheduler-from-windows-vista-inside-out

打开方法

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

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

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

自动更新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==============

自动化工作之自动更新SVN的更多相关文章

  1. 批量自动更新SVN版本库 - Windows

    开发过程中每天都要从SVN代码库里一个一个的update各个项目代码,不仅效率实在是低,也不符合程序员的"懒"精神,由于是在Windows环境做开发,自然就想到了使用bat来实现自 ...

  2. 如何自动更新SVN项目

    在桌面新建“SVN Update.bat”文件,把下面的命令复制到该文件中,保存并退出,然后使用windows的“任务计划”功能,就可以实现定时自动更新SVN目录. 按此批处理文件的方法执行,一次可自 ...

  3. 每隔10秒自动更新svn 定时更新svn 脚本

    任务: */1 * * * * /opt/adobe/fms/webroot/api/svn.sh 这个命令的问题:只更新了版本号,没有更新实际内容,但是直接运行上面shell脚本能更新. 解决:需要 ...

  4. 自动更新SVN项目

    @echo off@echo =================================@echo 定时在SVN上自动更新项目内容,可用于项目放在web服务器没有hudson的时候@echo ...

  5. win7下自动更新svn目录

    !!注意,文件编码必须是ANSI.否则中文路径会乱码 ::这里是svn安装目录 set svnExe="C:\Program Files\TortoiseSVN\bin\TortoisePr ...

  6. 利用crontab自动更新SVN代码

    shell.sh#!/bin/sh source ~/.bash_profile LANG=en_US.UTF- cd /opt/web/hzcms/ svn up >> /opt/web ...

  7. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  8. 使用 SVN Hook 实现服务器端代码自动更新

    之前的做法是客户端提交代码之后,再去服务器端项目中 svn up 一下来更新代码,让服务器端的项目更新到最新版本.可以编写一个 post-commit 钩子脚本来实现服务器端代码的自动更新,它在 SV ...

  9. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

随机推荐

  1. Web安全之CSRF攻击

    CSRF是什么? CSRF(Cross Site Request Forgery),中文是跨站点请求伪造.CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任, ...

  2. 关于html页面head标签顺序

    基本上head就这几个标签么: <meta>.<link>.<title>.<script>.<style>.<base>. 它 ...

  3. SQLMAP使用笔记

    -u #注入点-f #指纹判别数据库类型-b #获取数据库版本信息-p #指定可测试的参数(?page=1&id=2 -p “page,id”)-D “” #指定数据库名-T “” #指定表名 ...

  4. 直接拿来用!十大Material Design开源项目

    来自:http://www.csdn.net/article/2014-11-21/2822753-material-design-libs/1 介于拟物和扁平之间的Material Design自面 ...

  5. JavaScript学习01 语言简介、基本使用和变量声明

    JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...

  6. Android 进程生命周期 Process Lifecycle

    Android 进程生命周期 Process Lifecycle 进程的生命周期 Android系统会尽力保持应用的进程,但是有时为了给新的进程和更重要的进程回收一些内存空间,它会移除一些旧的进程. ...

  7. Android 网络图片查看器

    今天来实现一下android下的一款简单的网络图片查看器 界面如下: 代码如下: <LinearLayout xmlns:android="http://schemas.android ...

  8. 混合使用TFVC和GIT配置库的优化方案

    如果要选出最近几年在软件工程领域最热的技术,那毋庸置疑就是git了.作为分布式源代码管理(DVCS)的代表,git以其超快的操作,便捷的分支合并模型和P2P模式的代码分享模式让软件开发团队的很多复杂协 ...

  9. DevExpress ASPxSplitter ClientSideEvents-PaneExpanded 时间用法

    在webform中的devexpress aspxsplitter中套用了jquery-easyui的 tabs id=tt <div id="tt" class=" ...

  10. MySql技巧个人笔记

    1.数据null时sum的用法 mysql数据库SUM(A+B)不一定等于SUM(A)+SUM(B),当A或B为NULL时,SUM(A+B)=NULL. 2.or改为in 同一字段,将or改写为in( ...