以前每天到公司的都有一系列很繁琐的东西要做:开工程文件夹、SVN更新、用CMake更新工程文件、用VS开sln、编译。。。这些动作都是有先后顺序的,前者完成之后才能开始后者,这样就浪费的大量时间在等待上,如果能够一键搞定就好了。可以说是要偷懒,也可以说是要提高工作效率,自然就会去想办法让这一系列的动作自动化,由于是windows平台,就考虑用bat批处理来搞定。
我的结构是:OneKeyDone.bat 为主要执行文件,里面分别调用Update.bat、Generate.bat、OpenVS.bat、OpenDir.bat四个批处理文件,每次只需要双击OneKeyDone.bat就可以完成所有动作。当然,我们也要保留其他功能的独立性,比如我编辑的工程,直接执行Generate.bat去更新工程就够了。下面是实现:
--------------------------------------------- OneKeyDone.bat ------------------------------------------
rem "rem" 标示的一行为注释行,“echo off/on” 打开或关闭提示符,“color 2f”设置前景色和背景色,call 调用另一个批处理
@echo off
color 2f
call ./Update.bat
call ./Generate.bat
call ./OpenVS.bat
call OpenDir.bat
@echo on
--------------------------------------------- Update.bat ------------------------------------------------
@echo off
color 2f
rem 设置各个路径变量
@set svn_bin=C:\Program Files\TortoiseSVN\bin