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

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

 

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

  1. @echo off  
  2.   
  3. :: 设置第三方库环境变量THIRD_PARTY  
  4. wmic ENVIRONMENT create name="THIRD_PARTY",username="<system>",VariableValue="%~dp0ThirdPartyLib"  
  5. echo %THIRD_PARTY%  
  6.   
  7. :: 设置SDK环境变量PIE_SDK_INC和PIE_SDK_LIB  
  8. wmic ENVIRONMENT create name="PIE_SDK_INC",username="<system>",VariableValue="%~dp0"  
  9. echo %PIE_SDK_INC%  
  10.   
  11. wmic ENVIRONMENT create name="PIE_SDK_LIB",username="<system>",VariableValue="%~dp0outdir"  
  12. echo %PIE_SDK_LIB%  
  13.   
  14. 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. 获取批处理文件所在路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值