cmd环境变量命令set 设置永久环境变量命令setx

米米素材网

set命令

set命令用于设置当前cmd窗口中的环境变量,只在当前cmd窗口有效,cmd窗口关闭后将会失效,而其不会影响到系统中保存的用户环境变量。

setx命令
setx设置永久用户环境变量

setx env_name env_value

注意:有的路径中会带有空格,所以最好用双引号把变量和值都包裹起来,也就是写成如下形式:

setx "env_name" "env_value"

例,追加一个路径到用户path环境变量中:

setx "path" "D:\test;%path%"

setx设置永久系统环境变量

setx加上/m参数表示设置的是系统的环境变量,格式如下所示:

setx env_name env_value /m

注意:有的路径中会带有空格,所以最好用双引号把变量和值都包裹起来,也就是写成如下形式:

setx "env_name" "env_value" /m

例如,设置当前路径%cd%到系统环境环境变量中:

setx "Path" "%cd%;%path%" /m

注意:setx设置环境变量后,将在新打开的终端中生效,当前终端不会立即生效。
注意:setx可能会在环境变量中设置多个相同的值,例如,在当前cmd窗口中运行:

setx "Path" "D:\test;%path%" /m

然后再重新打开cmd窗口,进入D:\test路径,然后再次运行:

setx "Path" "D:\test;%path%" /m

这样D:\test将会在path环境变量中出现两次.

用setx设置永久环境变量及注意事项

设置用户环境变量

setx ENV_NAME env_value

设置系统环境变量

setx ENV_NAME env_value /m

注意1.
在某些情况下会出现“setx 无效语法 默认选项不能超过'2'次”的错误,据信是因为原先的环境变量中存在空格导致的,可使用双引号进行避免。

注意2.

setx设置环境变量后,将在新打开的终端中生效,当前终端不会立即生效。所以当设置path这样内容较为丰富的环境变量时,要一次到位,而不要针对同一变量反复调用setx。例如:

正确做法:

set path_=%Path%
setx “Path” “%path_%;newpath1;newpath2” /m

错误做法:

set path_=%Path%
setx “Path” “%path_%;newpath1” /m
setx “Path” “%path_%;newpath2” /m

上述错误的做法将会漏掉newpath1。