CMD 的 set 与 setx 命令

省流

简单来讲 set 与 setx 命令都是在终端对环境变量进行设置的命令,不同的是 set 命令设置后仅对当前终端有效,关闭当前终端后就失效了,而 setx 命令设置的环境变量则不会失效,不过需要注意的是 setx 命令设置的环境变量不会立即生效在当前终端,需要另开一个全新的终端才可以使用我们设置的环境变量,这有点类似于我们手动的去添加环境变量了。

关于系统环境变量和用户环境变量的区别,请看: 简谈 Windows 的环境变量以及用户变量与系统变量的区别

如果你从没有了解过这两个命令,那么下面我来讲讲它们一般都怎么使用。

set

set 常用用法如下:

  • set:查看所有当前定义的环境变量及其值。

  • set 变量名=变量值:添加/修改一个环境变量。

  • set 变量名=:删除一个环境变量。

如果你有一定的编程基础,那么看到用法就应该知道怎么用了。

(以下内容仅针对不懂的读者)

查看

如果你想看看当前终端环境下的所有环境变量和它的值,那么就可以使用 set 命令进行查看。

1
2
3
4
5
6
7
8
9
10
C:\Users\yiimus>set
ALLUSERSPROFILE=C:\ProgramData
ANACONDA=D:\Program Files\environment\Anaconda3
APPDATA=C:\Users\yiimus\AppData\Roaming
CARGO_HOME=D:\Program Files\Rust\.cargo
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
(由于实在过多,这里省略)

增改

假如说你想在当前终端下添加一个名为 aaa666 值为 111 的环境变量,你可以输入如下命令。

注:想要验证的,请自行输入查看命令,这里就不演示了

1
set aaa666=111

如果你想修改这个名为 aaa666 的环境变量的值为 222,你可以输入如下命令。

1
set aaa666=222

是的,你没有看错,set 命令的添加和修改是一个写法,如果没有这个变量名的环境变量,系统就会添加,如果有系统就会对这个变量进行修改。

删除

如果你想删除这个名为 aaa666 的环境变量,你可以输入如下命令。

1
set aaa666=

setx

setx 常用用法如下:

  • setx 变量名 值:设置用户环境变量。
  • setx 变量名 值 /m:设置系统环境变量。

同 set 增改环境变量一样,不同的是语法不一样,这一点需要注意一下。

setx 在设置系统环境变量时需要以管理员身份打开终端才可以进行设置,否则会报 “错误: 拒绝访问注册表路径。”