使用批处理来批量更新、提交SVN

当你更新部分SVN项目,还得右键,然后点“更新”,是不是很烦,没关系,写个批处理
如果你想更新所有SVN的项目,只需要使用if exist就好了,不用看下面的了


先上代码,如果你不了解bat,可以先复制下来,然后再去学习。
@echo off			//这句是不在cmd显示下面的命令,加个@是不显示自身的命令

for /f %%i in (proall.txt) do ( 		
echo 更新 %%i
TortoiseProc.exe /command:update  /path:D:\work\%%i /closeonend:2
echo 完成%%i 更新
echo.
)

exit

还有那个proall.txt,其实没什么,就是你要更新的项目,或者项目下的某一个文件夹
项目1
项目2 
项目3
项目4\排期表
项目4\文档
项目8


接下来解释一下:

1、for /f %%i in (*) do()

  • 这句意思是使用for循环来获取项目名,然后执行do里面的命令,for /f是用来读取文本的命令,文本的每一行表示一个元素,空行就跳过
  • 其次%%i表示一个临时的i,表示proall.txt里面的某一个项目名称,而且是局部变量
  • 上面的是在proall.txt里面读取要更新的项目名,如果项目多了,只要修改proall.txt就可以了,当然你不嫌麻烦也可以用“数组”,写在bat里面。

2、echo 更新%%i

  • 只是加个提示,会提示更新项目1、更新项目2

3、 TortoiseProc.exe /command:update /path:D:\work\%%i /closeonend:2 这一句是最主要的

  • TortoiseProc.exe表示执行TortoiseSVN的GUI程序 (这个是你实际修改过的名称,如果你改成了龟龟,那就龟龟.exe)
  • update,也就是执行更新项目的命令
  • 接下来的path表示要更新哪个项目,我放在了D:\work目录下,会通过从proall.txt里面读取的来依次更新
  • closeonend:2表示更新时如果没发生错误和冲突则自动关闭对话框

4、echo 完成%%i 更新

  • 也是加个提示,完成项目1 更新等等

5、echo.

  • 如果你眼神还可以就会发现echo后面有个.,记住是紧挨着echo,没有空格,表示换行

6、exit

  • 表示更新完的话自动关闭cmd命令窗口,当然如果你想看下更新了什么,可以改成pause

如果想把更新改为提交到SVN的话,改下command就好了,update改为commit


维尼聚合工具


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值