Board logo

标题: [系统相关] 批处理如何追加环境变量? [打印本页]

作者: x777_1985    时间: 2010-8-20 09:50     标题: 批处理如何追加环境变量?

目标:1, 把tools文件夹(与本批处理文件处于同一目录) 复制到e盘根目录
        2."环境变量"path追加该路径
说白了 就是类似一个"安装文件"的实现 本人想选择批处理这种方式快速解决这个问题 也就是把路径写死

搜了一个代码 使用了wmic
  1. ::检查path中有没有e:\tools(有就跳到run,没有就接着执行)   
  2. echo %path%|findstr /i "e:\tools"&&(goto run)   
  3. ::先添加,防止没有时修改出错   
  4. wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"  
  5. ::再修改,防止已有时添加出错   
  6. wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"  
  7. ::再即时应用   
  8. set "path=e:\tools;%path%"  
  9. :run   
  10. echo 安装已完成!
  11. echo. & pause
复制代码

效果是实现了 但是前面的判断报错了 哪位兄台帮着看一眼 谢谢

[ 本帖最后由 x777_1985 于 2010-8-20 09:52 编辑 ]
作者: x777_1985    时间: 2010-8-23 08:57

帮助看看 谢谢ddddddddddddddddddd
作者: terse    时间: 2010-8-23 15:58

  1. if "%path%" neq "%path:e:\tools=%" echo ok
复制代码

作者: x777_1985    时间: 2010-8-25 13:06

dddddddddddddddddddddddd
作者: x777_1985    时间: 2010-9-1 10:12

ddddddddddddd
作者: Batcher    时间: 2010-9-1 12:30

  1. @echo off
  2. ::检查path中有没有e:\tools(有就跳到run,没有就接着执行)
  3. echo %path% | findstr /i "e:\tools" >nul
  4. if not errorlevel 1 (
  5.     goto :run
  6. )
  7. ::先添加,防止没有时修改出错
  8. echo wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"
  9. ::再修改,防止已有时添加出错
  10. echo wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"
  11. ::再即时应用
  12. set "path=e:\tools;%path%"
  13. :run
  14. echo 安装已完成!
  15. echo. & pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2