Board logo

标题: [系统相关] [已解决]批处理新建和追加环境变量并判断是否已存在该值? [打印本页]

作者: wh1234567    时间: 2012-5-23 16:16     标题: [已解决]批处理新建和追加环境变量并判断是否已存在该值?

如果已经存在该值(包括变量名和变量值)就跳过,如果不存在该值就自动新建或追加。

修改环境变量

我们首选需要对电脑进行环境变量的设置

[attach]5302[/attach]
右键点击我的电脑-属性

[attach]5303[/attach]
高级-环境变量(WindowsXP) 高级系统设置-高级-环境变量(Windowns7)
[attach]5304[/attach]

点击新建.。.添加下面这两个变量
变量名:JAVA_HOME
变量值:Crogram FilesJavajdk1.6.0_10

[attach]5305[/attach]
变量名:classpath

变量值:.;%JAVA_HOME%lib;(注意符号)
[attach]5306[/attach]

还有一个环境变量Path,系统默认已经出现,在系统变量下找到这个变量,点击编辑。

[attach]5307[/attach]
在已经有的变量值前面,加入下面这个变量
C:Program FilesJavajdk1.6.0_10in;   (注意包括“;”)


上面这个过程,我想利用批处理来实现,求高手弄个比较完美的批处理
作者: gawk    时间: 2012-5-23 18:33

该图片仅限百度用户内部交流
作者: fatcat    时间: 2012-5-23 19:05

楼主多看一下 wmic ENVIRONMENT,
自己做出来不难.
作者: wh1234567    时间: 2012-5-23 19:59

图片可显示了
作者: apang    时间: 2012-5-23 20:36

变量值:Crogram FilesJavajdk1.6.0_10
C:Program FilesJavajdk1.6.0_10in;   (注意包括“;”)

有你这样写的吗?发帖都不仔细,没人会帮你
作者: wh1234567    时间: 2012-5-23 21:05

回复 5# apang


    这是我在网上看到的,原作者就是这样写的,我估计那个圆点是bin,不知道对不对
作者: gawk    时间: 2012-5-23 21:31

回复 3# fatcat


    不要奢望了,除了直接给完整代码,楼主自己搞不定的。
作者: wh1234567    时间: 2012-5-24 11:52

本帖最后由 wh1234567 于 2012-5-24 11:58 编辑

批处理设置环境变量:
其实也就是新建添加下面这两个变量和追加Path

变量名:JAVA_HOME
变量值:Crogram FilesJavajdk1.6.0_10

变量名:classpath
变量值:.;%JAVA_HOME%lib;

追加环境变量Path
在已经有的变量值前面,加入下面这个变量
C:Program FilesJavajdk1.6.0_10in;

不知道能不能实现,高手们给弄个代码吧
作者: qiwei201    时间: 2012-5-24 11:58

快下班呀,举个例子,根据需要还得修改。
  1. if defined CLASSPATH set "CLASSPATH=%CLASSPATH%.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar" else set "CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar"
  2. set path=C:\Program Files\Javajdk1.6.0_10\bin; %path%
复制代码

作者: wh1234567    时间: 2012-5-25 10:07

高手们给弄个代码吧,小弟在此感谢了
作者: wh1234567    时间: 2012-5-30 16:07

本帖最后由 wh1234567 于 2012-6-3 13:40 编辑

批处理设置环境变量:
其实也就是新建添加下面这两个变量和追加Path

变量名:JAVA_HOME
变量值:Crogram FilesJavajdk1.6.0_10

变量名:classpath
变量值:.;%JAVA_HOME%lib;

追加环境变量Path
在已经有的变量值前面,加入下面这个变量
C:Program FilesJavajdk1.6.0_10bin;

不知道能不能实现,高手们给弄个代码吧
作者: wh1234567    时间: 2012-6-2 23:08

求高手帮我写个批处理吧
作者: apang    时间: 2012-6-3 20:59

本帖最后由 apang 于 2012-6-3 23:19 编辑
  1. @echo off
  2. wmic environment create name="JAVA_HOME",username="<system>",variablevalue="C:\Program Files\Java\jdk1.6.0_10"
  3. wmic environment create name="classpath",username="<system>",variablevalue=".;%%JAVA_HOME%%\lib;"
  4. wmic environment where (name="path" and username="<system>") get variablevalue|findstr /ic:"C:\\Program Files\\Java\\jdk1\.6\.0_10\\bin">nul
  5. if "%errorlevel%"=="0" echo "C:\Program Files\Java\jdk1.6.0_10\bin"路径已存在&pause&goto :eof
  6. wmic environment where (name="path" and username="<system>") set variablevalue="C:\Program Files\Java\jdk1.6.0_10\bin;%path%"
  7. pause
复制代码

作者: wh1234567    时间: 2012-6-3 22:46

本帖最后由 wh1234567 于 2012-6-3 23:11 编辑

回复 13# apang
闪了一下就自动退出了,好像显示“错误”的字样,不知道为什么

这3个都是在环境变量里的系统变量里设置的。
另外,如果这3个变量名和变量值分别存在的话就跳过并提示某某变量名和某某变量值已经存在无需设置,分别都提示,判断没的话就自动新建(追加)并显示“某某某新建或追加成功!”
不存在就处理并显示例如:
【变量名:JAVA_HOME    变量值:Crogram FilesJavajdk1.6.0_10】新建成功!
【变量名:classpath    变量值:.;%JAVA_HOME%lib;】新建成功!
【变量名:Path    变量值:C:Program FilesJavajdk1.6.0_10bin;】追加成功!
如果存在就显示例如:
【变量名:JAVA_HOME    变量值:C:Program FilesJavajdk1.6.0_10】已经存在无需设置!
【变量名:classpath    变量值:.;%JAVA_HOME%lib;】已经存在无需设置!
【变量名:Path    变量值:C:Program FilesJavajdk1.6.0_10bin;】已经存在无需设置!
作者: apang    时间: 2012-6-3 23:23

回复 14# wh1234567

13楼,再试一次。看下面的图,wmic本身有提示的,还用得再显示提示?
作者: wh1234567    时间: 2012-6-3 23:55

本帖最后由 wh1234567 于 2012-6-3 23:58 编辑

回复 15# apang

嗯,我看了,这次能正常运行了,总感觉不如我说的那种直观一点,修改下是最好不过了,呵呵呵
作者: wh1234567    时间: 2012-6-9 00:44

本帖最后由 wh1234567 于 2012-6-9 00:48 编辑

在线等......
另外问下:
变量值:Crogram FilesJavajdk1.6.0_10

变量值:C:\Program Files\Java\jdk1.6.0_10
效果相同吗?我见这2种都有人写,不知道正确的应该是哪个对?




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