每天打开电脑都要先更新代码和策划文档,N个项目就要执行N*2次svn update,这相当繁琐。
于是决定弄个bat文件,一键更新。
TortoiseSVN安装后会添加一个系统环境变量C:\Program Files\TortoiseSVN\bin
有了这个东西我们就可以在cmd窗口使用TortoiseProc.exe /command:命令参数 /path:路径参数 /
额外参数的方式来执行svn程序。
在需要一键更新的svn同级目录下建立两个文件,一个update.bat,一个update.ini。
将下面代码copy到update.bat
@echo off
SET svnWindow=3
SET ini_dir=%~dp0\update.ini
FOR /f "eol=# delims=;" %%i in (%ini_dir%) DO (
TortoiseProc.exe /command:update /path:"%%i" /closeonend:%svnWindow%
)
代码含义
@echo off 关闭命令输出到控制台;
SET svnWindow=3 设置svn更新窗口是否关闭;
%~dp0 获取当前bat文件的盘符和路径;
遍历update.ini内容,每次获取一行,“eol=#“忽略#开头的行,”delims=;“用分号分隔,然后循环执
行svn命令
/closeonend参数含义
0 不自动关闭对话框
1 如果没有发生错误自动关闭对话框
2 如果没有发生错误、冲突自动关闭对话框
3 如果没有发生错误、冲突、合并自动关闭对话框
中文乱码
此外由于svn目录名可能是中文,所以在UTF-8编码下会乱码,需要将文件编码格式改为ANSI。
update.ini文件内容每行单独一个需要更新的svn目录的绝对路径。
详细请看: