[BAT]VS自动取TFS代码,自动编译并打包

来源:互联网 发布:多益网络手游那个好玩 编辑:程序博客网 时间:2024/05/07 17:27

-----------------------------Cryking原创------------------------------
-----------------------转载请注明出处,谢谢!------------------------ 

 

脚本内容如下:

VS2010大型解决方案自动取TFS最新代码或取指定文件最新代码,并自动编译打包为RAR文件。

注:这里有VS的SETUP部署方案,也自动编译了,最后所有文件及LOG全部在D盘目录

大家自己略加修改可以支持更多的功能

我们的目标,让代码减轻工作大笑 


@echo offecho ****************************************echo            自动编译并打包echo                         By Crykingecho                  2013.08.01echo ****************************************title AutoComplie Created By Crykingcolor 0arem hh用来解决取小时可能出现空格的问题(凌晨1点到早上9点%time:~0,2%都会出现空格)set h=%time:~0,2% set hh=%h: =0%set log_file="D:\Complie_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%hh%%time:~3,2%.log"set rar_file="Cry_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%hh%%time:~3,2%.rar"set tfs_log="D:\tfs_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%hh%%time:~3,2%.log"set CRY_path=D:\code\ConsoleApplication1\ConsoleApplication1\bincd /d D:\"Program Files"\VS2010\Common7\IDEecho.echo    TFS文件获取菜单  echo.echo    请选择TFS获取文件方式:echo      0.获取全部的TFS最新代码echo      1.获取指定文件的TFS最新代码(单个文件)echo  ---      set /p tfsLevel="请选择(0|1):"if %tfsLevel%==0 (tf get /version:T /all >%tfs_log%)if %tfsLevel%==1 (echo "输入要获取的文件名(如tfs有多个子工程,需包含路径,有空格的文件名需用双引号引起来)" set /p tfsfile=": "tf get $/cry_01/cry/%tfsfile% >%tfs_log%)if not %tfsLevel%==1 (if not %tfsLevel%==0 exit) echo.echo    自动打包为RAR文件及SETUP安装文件echo.echo    请选择打包方式:echo      0.全部打包(压缩全部文件)echo      1.部分打包(仅压缩必须的DLL及EXE文件)echo  ---  set /p rarLevel="部分打包还是全部打包?[1|0]:"devenv /build Debug "D:\code\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.sln"  /Out %log_file%cd %CRY_path%del %CRY_path%\debug\*.pdbif %rarLevel%==1  (D:\"Program Files"\WinRAR420\WinRAR.exe a -r %rar_file% @D:\rarfile) else (D:\"Program Files"\WinRAR420\WinRAR.exe a -r %rar_file% debug\*)copy *.rar D:\del %CRY_path%\*.rarecho.echo ***生成SETUP安装包***echo devenv /build Release "D:\User\comp\CrySetup\CrySetup.sln" /Out %log_file%echo copy D:\code\CrySetup\CrySetup\Release\*.* d:\echo rename d:\CrySetup.msi d:\CrySetup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%hh%%time:~3,2%.msiecho rename d:\setup.exe d:\setup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%hh%%time:~3,2%.exeecho.echo ***************************************echo              自动编译完成!echo.&pause                                                                                                                            

注意:要生成SETUP安装包,必须在VS里建立对应的部署解决方案。

        其中rarfile文件内容是指定需要RAR打包的文件列表。详细的RAR命令见相关文档.