批处理文件在VS项目开发中的一个应用示例

在实际项目开发中常常会在一个SOLUSION下同时管理多个PROJECT,这些PROJECT之间往往互相关联。源代码管理工具的引入使协同开发成为可能,但是相关的环境设置却常常让人头疼不已。项目越大,工程越多,表现得也就越突出。这个时候巧妙地使用批处理文件可以使你的烦恼烟消云散。在本例中,我通过BAT来设定虚拟盘符,防止全路径硬绑定,并设置相关的LIB和INCLUDE等环境变量。同时,还可以通过调用Visual Studio的vcvarsall.bat,使一些工程编译、编译结果分析,目标文件拷贝等操作直接写入批处理文件中,一步到位。具体示例如下:

假如我们在源代码服务器上有以下文件目录结构

ProjectFolder用来存放所有的项目文件。Solution名称为MySolution,文件MySolution.sln存放在Develop下边。

1.建立虚拟盘符
    a.选择有足够磁盘空间的地方建立一个新文件夹。例如:在C盘创建"WDrive"文件夹。
    b.创建一个包含
      subst W: C:/WDrive
      内容的简单批处理文件。并将其放置在系统盘符下的Startup文件夹内。保证每次开机虚拟盘符W都会自动建立。
    c.建立源代码Server端和虚拟盘W之间的映射。
2.设置环境变量
    a.如下定义一个系统环境变量 [Start->My Computer->View System Information->Advanced-> Environment Variables]
      Variable name : TOP
      Variable value: W:/ProjectFolder     
    b.创建环境设置批处理文件,同时在该批处理文件中启动我们的MySolution

 

@echo   off
REM  PROENV.BAT
REM
REM
 This batch file sets up the environment variables and establishes an 
REM
 environment in which our solution can be built. Then start our solution.
REM
REM
 TOP - Points to the root of the development tree

if   " %TOP% " == ""   echo  TOP  not   set !
if   " %TOP% " == ""   goto   END

call   " C:Program FilesMicrosoft Visual Studio 8VCvcvarsall.bat "

REM  ---------------------------------------------------------------------------
REM
 Sets up the environment variables
REM
 ---------------------------------------------------------------------------
set  PROROOT = %TOP% Develop
set  SOLUTIONNAME = MySolution
set  THIRD = %PROROOT% 3rdParty
set  TOOLS = %PROROOT% DevTools
set  COM_DLL = %PROROOT% Source Components Dll
set  COM_LIB = %PROROOT% Source Components Lib
set  INCPUB = %PROROOT% Source Include IncPublic
set  INCINT = %PROROOT% Source Include IncInterComponent
set  RES = %PROROOT% Source Resources

REM  Add TOOLS to the path, then the command inside can be run directly
set   PATH = % PATH % ; %TOOLS%
cd   / D %PROROOT%

if   exist  %PROROOT% %SOLUTIONNAME% . sln devenv %PROROOT% %SOLUTIONNAME% . sln
@echo  Success!

:END

 

    C.在项目工程的属性中,用我们定义好的环境变量来设置Lib,INCLUDE和Output等相关路径。
3.编写Start.bat文件。
  

@echo   off
REM  START.BAT
REM
REM
 This batch file is the entry of MySolution

%comspec% 
/ " ProEnv.bat "


  以后要启动Solution,只需双击Start.bat文件即可。
 
其实,批处理文件还能做很多其他工作。如果有多个Solution,可以实现Solution的统一编译,编译结果分析,编译后的目标文件拷贝。相应的只需要跳用并添加MakeAll.bat,Update.bat等等。

 

你可能感兴趣的:(dll,include,tools,resources,Components,variables)