网站搜索

如何使用 Windows CMD 环境变量


使用命令提示符 (CMD) 添加或修改环境变量很容易,但删除一个环境变量要复杂得多。这里有几种不同的方法可以做到这一点。

如何添加或修改环境变量

首先,您需要以管理员身份启动命令提示符或 CMD。单击“开始”,在搜索框中键入“cmd”,然后单击“以管理员身份运行”。

有两种不同的方法来设置环境变量。

临时设置环境变量

第一个使用 set 命令。 Set 只在定义它的进程中定义一个环境变量——换句话说,该变量只在您打开的窗口或包含它的脚本中起作用。

下面是一个示例:假设您要创建一个名为 LifeAnswerVar 的环境变量并将值设置为 42。命令为 set LifeAnswerVar=42

当该窗口打开时,LifeAnswerVar 的值为 42。

当它关闭时,环境变量及其值将被删除。

如果您想临时修改现有的 Windows 系统变量,则可以使用完全相同的方法。您需要做的就是用您想要更改的系统变量代替 LifeAnswerVar,并用您想要分配的值代替 42。

例如,如果您想将 TMP 文件夹移动到 C:\Example Folder,您可以输入命令 set TMP=C:\Example Folder\

第一行 set TMP 显示了 TMP 的当前值。第二行为 TMP 分配了一个新值。第三行确认它已经改变。

永久设置环境变量

第二种方式使用 setx。 Setx 永久定义 Windows 环境变量。它们在 Windows 之间和重新启动之间持续存在,并写入 Windows 注册表。这些环境变量可以为特定用户定义,也可以为系统范围的使用定义。

命令 setx ExVar1 Tomato /m 将创建一个名为 ExVar1 的新环境变量,并为其分配值“Tomato”。 /m 参数指定新变量应该是系统范围的,而不仅仅是当前用户。

使用完全相同的命令修改现有环境变量,用 ExVar1 替换您要更改的变量的名称。

如果要添加或修改用户环境变量,只需从命令中省略 /m 参数即可。

如何删除环境变量

删除环境变量比添加或修改环境变量要难一些。

临时删除环境变量

如果要临时删除当前进程的环境变量,如脚本、PowerShell 窗口或命令提示符窗口,可以使用 set 命令。您需要做的就是不给变量赋值。

例如,如果您在系统范围的环境变量中有变量定义 ExVar1=Tomato,但想在一个特定进程中忽略它怎么办?您可以在命令提示符中键入 set ExVar1= 或将该行包含在您的脚本中。在脚本执行期间或在您打开新的命令提示符窗口之前,该变量将被设置为空。

永久删除环境变量

永久删除环境变量有点复杂——您必须使用 reg 来完成它。

个人用户的环境变量存储在 HKEY_CURRENT_USER\Environment 中。系统范围的环境变量存储在别处,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 中。

让我们使用 ExVar1=Tomato 示例。 ExVar1 环境变量是在系统范围内定义的,这意味着它位于 HKEY_LOCAL_MACHINE 目录中,而不是 HKEY_CURRENT_USER 目录中。具体来说,子项的路径是:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ExVar1

现在我们需要使用 reg delete 命令来删除它。请记住,您需要在下面的命令中用您的变量名替换 ExVar1。

reg delete \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ /f /v ExVar1

那里有很多,所以让我们分解一下。

  • reg delete — 定义我们正在使用的应用程序 (reg) 和命令 (delete)
  • \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ — 告诉 reg delete 在哪里寻找密钥
  • /f — 告诉 reg delete 删除密钥而不提示确认
  • /v — 告诉 reg delete 它将被赋予要删除的特定子项
  • ExVar1 — 我们要删除的子项的名称

删除单个用户的环境变量与删除系统范围的变量完全相同,只是路径不同。如果 ExVar1 是用户环境变量,删除它的命令是:

reg 删除 HKEY_CURRENT_USER\Environment /f /v ExVar1

如果删除环境变量的命令成功,您应该在命令提示符中看到“操作成功完成”。

任何时候像这样删除环境变量时,都需要重新启动 explorer.exe。您可以手动重新启动 Explorer.exe,也可以只重新启动整个计算机。两者都可以,并且更改应在重新启动后立即生效。