首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用 Windows CMD 环境变量

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

如何添加或修改环境变量

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

注意:可以在常规命令提示符窗口中设置或修改任何用户环境变量,但更改系统范围的环境变量需要提升的命令提示符。

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

临时设置环境变量

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

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

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

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

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

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

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

永久设置环境变量

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

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

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

注意:如果您使用 setx 修改变量并设置查看变量的值,set 将不会显示正确的值,直到打开一个新的命令提示符窗口。

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

如何删除环境变量

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

注意:与添加变量一样,可以在常规命令提示符窗口中删除任何用户环境变量,但删除系统范围的环境变量需要提升的命令提示符。

临时删除环境变量

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

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

永久删除环境变量

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

警告: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 delete HKEY_CURRENT_USER\Environment /f /v ExVar1

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220415A0B21W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券