作者:朱金灿

 

        在开发时一般使用环境变量而不用相对路径来包含第三方库,其原因在这篇文章详述:为何用环境变量而不用相对路径来包含第三方库。但是手动添加环境变量是一件繁琐的事情。我决心使用批处理文件来解决这个问题。我思考:要实现批处理添加环境,主要是解决两个问题,一是一般DOS命令设置环境变量只对当前的控制台有效,必须实现添加这个环境变量是长期有效的,而不能退出当前控制台就无效的;二是因为每个人放置的源码路径不一样,因此设置的环境变量指向一个绝对路径是不行的,必须指向相对于批处理文件所在的路径。


       上网搜索了一下,找到了相应的批处理命令,稍加组合实现了这个功能,示例如下:

@echo off

:: 设置第三方库环境变量THIRD_PARTY
wmic ENVIRONMENT create name="THIRD_PARTY",username="<system>",VariableValue="%~dp0ThirdPartyLib"
echo %THIRD_PARTY%

:: 设置SDK环境变量PIE_SDK_INC和PIE_SDK_LIB
wmic ENVIRONMENT create name="PIE_SDK_INC",username="<system>",VariableValue="%~dp0"
echo %PIE_SDK_INC%

wmic ENVIRONMENT create name="PIE_SDK_LIB",username="<system>",VariableValue="%~dp0outdir"
echo %PIE_SDK_LIB%

pause



     稍微解释下这个命令:


        THIRD_PARTY为环境变量名,<system>表示你添加的是系统环境变量,%~dp0表示批处理文件所在的文件夹,例如,你的bat文件在e:/MyProject/test.bat,则%0就是%~dp0是e:/MyProject/,%~dp0ThirdPartyLib就是e:/MyProject/ThirdPartyLib。


        ok,现在你可以建这样一个批处理文件,然后别人可以轻松双击它就设置好环境变量了。