找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33463|回复: 4

[注册表类] [已解决]批处理增加环境变量path值时怎样判断是否已存在该值?

[复制链接]
发表于 2011-5-3 16:11:53 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set  ADDpath=D:\Siemens\swim\Origin_SWCustomer
  3. for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,(
  4.        (
  5.                 reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%%c;%ADDpath%" /f
  6.                 )
  7. )
  8. exit
复制代码
上述代码可以将 D:\Siemens\swim\Origin_SWCustomer 增加到系统变量path中,但并不检查是否存在该值,求增加判断代码。
即 ,如果 第一个for语句 中的 %%c 的值包含 D:\Siemens\swim\Origin_SWCustomer ,则直接结束,不增加值!

四楼的代码成功的达到了目的,非常感谢!虽然还没弄明白 | 和 || 。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-5-3 18:05:38 | 显示全部楼层
这个delims要用的,然后与要添加的值一一对比,若不存在就追加
发表于 2011-5-3 18:39:25 | 显示全部楼层
本帖最后由 yjstone 于 2011-5-3 23:19 编辑

试试这个:
  1. @echo off
  2. set "regpath=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment"
  3. call :setpath "D:\Siemens\swim\Origin_SWCustomer"
  4. :setpath
  5. if "%~$path:1"=="" reg add "%regpath%" /v Path /t REG_EXPAND_SZ /d "%path%;%1" /f
  6. pause&exit
复制代码
如果只是想增加的环境变量在批处理内一次生效可用如下代码:
  1. @echo off
  2. call :setpath "D:\Siemens\swim\Origin_SWCustomer"
  3. :setpath
  4. if "%~$path:1"=="" path %path%;%1
  5. pause&exit
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2011-5-3 19:51:31 | 显示全部楼层
本帖最后由 yjstone 于 2011-5-3 20:56 编辑

或者用下面这个:
  1. @echo off
  2. set regpath=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
  3. set ADDpath=D:\Siemens\swim\Origin_SWCustomer
  4. reg query "%regpath%" /v "Path"|find /i "%ADDpath%"||(reg add "%regpath%" /v Path /t REG_EXPAND_SZ /d "%path%;%ADDpath%" /f)
  5. pause
复制代码
发表于 2011-8-25 10:37:08 | 显示全部楼层
嘿嘿,上面的代码我用上了!!!! 感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:34 , Processed in 0.020103 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表