站点图标 江湖人士

编写BAT批量克隆项目1000个轻松搞定

记得早前使用宇宙第一开发工具VS时,团队源码管理选择TFS是众多小伙伴的选择,当git出来以后,微软也适时的在Team Foundation里面支持使用git管理源码了,你就可以非常愉快的使用git克隆存储库,但对于大型的项目来说,一次性克隆上千个项目手工整的话非常的累人啊。

团队开发使用Team Foundation来进行源码管理,通常对于大型项目来说,编写一个BAT文件批量克隆项目对于首次拉取项目非常的方便,不需要你一次一次的执行枯燥的git clone命令,对于上千个项目,这得整到何时方可休啊,所以懒人得想点懒办法,使用批处理命令可以轻松搞定。

Image by Tiểu Bảo Trương from Pixabay

BAT批量克隆项目

想要一次性批量克隆1000个项目,得分几步来实现:

脚本获取项目克隆地址

想要在Team Foundation里面批量克隆1000个项目,首先得想办法得到每个项目的地址,你可以直接进入到项目版本控制界面,最好使用chrome,edge,firefox等浏览器,因为你要用到开发者工具,在控制台里面编写一段脚本,如下图所示:

左边就是存储库里面的项目列表,每个项目的克隆地址我们可以编写一段js脚本来获取到,代码如下:

var arrary= document.querySelector(“#tfs_tnul1”).querySelectorAll(“li”); var url=””; for(var i = 0; i< arrary.length; i++){ url+=”http://jhrs.com/tfs/UniversityProjects/jhrswpf/_git/”+ encodeURIComponent(arrary[i].title)+” “+arrary[i].title+”\r\n”; } console.log(url);

然后在控制台里面是这样的。注意,以上代码是在一行里面,不要换行。

把代码编写好了之后,敲回车执行下就是了,结果如下:

好了,执行后我们就拿到了所有项目的克隆地址。

保存结果到记事本

为什么要将结果保存到记事本呢?是因为我们在接下来的bat文件中会读取该文件中的克隆地址,有朋友会问,为什么不直接将地址放到bat批处理文件中呢?答案是因为克隆地址存在有中文,URL地址经过编码,直接放到批处理文件中执行时会报错,不信可以自己试。

用记事本建立list.txt文件,使用ANSI编码。

上图分别是list.txt文件,该文件必须使用ANSI编码保存,不然会出错,因为批处理中文乱码。

编写bat文件

bat文件内容如下

@echo off
echo 按任意键开始批量克隆
pause
for /f "delims= tokens=1,2" %%i in (list.txt) do ( 
        echo %%i %%j
        git clone %%i %%j
)
echo 'git clone finish!'
pause

以上代码就是通过bat读取list.txt文件来批量克隆项目的关键。新建记事本文档,把上面内容复制进去,保存即可,文件编码选为ANSI编码,默认是UTF8,另存为就可以改编码了。

执行bat文件

bat文件编写好后,执行就是了,批量克隆效果如下:

因为项目比较多,需要等好长时间。最好喝会茶再回来看看。

总结

工作中发现团队小伙伴一个一个的克隆项目,实在麻烦,于是就花了一些时间研究了一下,就用到了这些懒办法来实现批量克隆项目,总算是不用一个一个的去敲git clone命令,接下来再复制下一个项目的克隆地址,然后再git clone了。

我是IT菜鸟,喜欢这篇文章吗?喜欢就用下方打赏来支持让我有写作的动力哟。

退出移动版