您的位置:首页 > 其它

使用批处理文件设置环境变量

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

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

[plain]
view plaincopyprint?

@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
@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,现在你可以建这样一个批处理文件,然后别人可以轻松双击它就设置好环境变量了。

参考:

1.
怎样让再MS-DOS设置的环境变量永久生效?

2.
获取批处理文件所在路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: