使用SET命令添加到你的path?

如果我想将java \ bin添加到我的环境variables中,可以使用SET命令从命令提示符执行此操作还是只是临时的?

对于当前的stream程环境来说,这只是暂时的。 如果你想要做出更持久的改变,那么就有麻烦了。

每个进程都会从产生它的进程inheritance环境variables,并且使用SET命令所做的任何更改都是该进程的本地进程(在进行更改后会生成所有进程)。

要对“粘住”的环境variables进行更改,无论是对于当前用户还是整个系统,都需要使用特殊的工具。 有很多这样的工具,但我会给你一个最好的列表。

  • Ronald提到微软的 SETX 。 它可以在资源工具包中find,也可以从一些微软网页中 单独find。 一般来说,大多数人没有问题是很好的。 然而,testing发现,如果值太长(似乎有〜1KB的限制),它可能会失败,甚至崩溃。 正如它发生的那样, PATHvariables是变得非常长的最可能的variables。

  • CodeProject上有一个名为SetEnv的工具来执行这个function。 这是我目前最喜欢的,因为我曾经与作者合作过,以加强它并找出一些纠结; 所以它满足了我对这个工具的所有期望。

  • 还有另一个名为SETENV的第三方工具,它也执行这个function。

  • 另外,你可以通过MyComputer->Properties->Advanced->EnvironmentVariables接口修改variables。

  • 最后,你可以去手动的方式(我已经写了一个脚本来做一个捏),在那里你直接设置环境string到registry,并发出一个WM_SETTINGCHANGE消息到所有的顶级窗口。

为了logging ,你问到增加的path。 没有默认或内置的方式来扩展一个环境variables(虽然这样的function可以很容易地添加到上述任何工具)。 相反,当你改变一个variables时,你可以replace 。 因此,要为PATHvariables添加path,可以使用如下命令:

 SET PATH="%path%;C:\Newpath" 

要么

 PATH "%path%;C:\Newpath" 

但请记住,前面的命令都不会粘住,所以可以使用前一个命令,用SETXSETX等代替对SET的调用。后一个命令不能被粘住。

HTH

根据我的经验,这只是暂时的,只会影响你发出的命令窗口。你必须通过控制面板修改系统设置,才能使所有的新窗口都可以使用。