Board logo

标题: [其他] 批处理set命令如何设置可保存的化境变量? [打印本页]

作者: zc18792636599    时间: 2011-11-14 10:09     标题: 批处理set命令如何设置可保存的化境变量?

本人正在学java,由于手动修改环境变量麻烦,所以想利用批处理结果不尽人意,现在说下具体的:
首先目的:修改系统环境变量path,后边追加个路径;新建环境变量classpath,然后给增加路径;
我尝试过用以下命令:
set path=%path%(后边跟我要增加的路径)
set classpath=(后边跟我要增加的路径)
pause
  然后在这个弹出来的cmd窗口中,设置的环境变量是起作用的,但是关掉之后就不起作用了,求解决办法,能说下原因最好
作者: HAT    时间: 2011-11-14 10:13

批处理添加、修改系统环境变量
http://bbs.bathome.net/thread-2052-1-1.html
作者: zc18792636599    时间: 2011-11-14 20:06

回复 2# HAT


    谢了,由于新来的,没找到这些资料,先去看看了
作者: zc18792636599    时间: 2011-11-14 20:11

明白了
3、要在批处理中立即生效(只是临时的,退出批处理后消失),P中加一句:path=%path%;C:\
  
还想问下,如何区别设置系统环境变量和用户环境变量?用这种方法设置的都是用户环境变量,如何设置成系统呢?
作者: CrLf    时间: 2011-11-14 20:22

本帖最后由 CrLf 于 2011-11-14 20:23 编辑

回复 4# zc18792636599


    explorer 启动时读取变量环境,cmd 是 explorer 的子进程,继承了父进程 explorer 的变量环境,退出 cmd 后,子进程的变量环境被抛弃,所以其实系统变量和用户变量是一回事,只是继承和被继承的区别。
    在 cmd 中修改变量环境是局限于子进程中的,如果要让它影响 explorer 的变量环境,一个途径是发送消息给窗口(比如 wmic 永久修改环境变量),一个途径是修改注册表影响 explorer 下次启动时所加载的变量环境,还有一个途径是把 explorer 干掉再在 cmd 中启动,使之成为 cmd 的子进程,也就继承了 cmd 当前的变量环境...
作者: wc726842270    时间: 2011-11-14 20:23

setx设置系统变量
http://www.bathome.net/viewthrea ... &highlight=setx
作者: zc18792636599    时间: 2011-11-15 17:07

回复 2# HAT


   啊啊啊啊啊,那种方法不行啊
作者: zc18792636599    时间: 2011-11-15 17:09

回复 5# CrLf


    理解了,可是,我从楼上的方法用起来不管用,给说个可以设置成功的方法,举例下,谢了
作者: CrLf    时间: 2011-11-15 17:16

wmic 的和 注册表的我就不说了,重启桌面比较方便...
  1. taskkill /f /im explorer.exe
  2. ::干掉桌面(弑父)
  3. path %path%;临时目录\
  4. ::修改继承自父进程的环境变量(篡夺遗产)
  5. start explorer.exe
  6. ::重启桌面(生子),新的桌面将继承 cmd 当前的变量环境
复制代码
立即生效,临时,注销账户或桌面进程再次重启前有效
作者: zc18792636599    时间: 2011-11-15 17:26

回复 6# wc726842270


    setx在命令行里输入显示不是内部外部命令啊
作者: CrLf    时间: 2011-11-15 17:30

回复 10# zc18792636599


    那是第三方命令行程序,要下载的,没看 wc 给的链接吗?
作者: HAT    时间: 2011-11-15 21:49

回复 7# zc18792636599


怎么个不行?挺而不坚,还是坚而不久?




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