windows - 从操作系统级别配置中删除环境变量的命令行

标签 windows registry environment-variables

Windows 有 setx命令:

Description:
    Creates or modifies environment variables in the user or system
    environment.

所以你可以像这样设置一个变量:

setx FOOBAR 1

你可以像这样清除值:

setx FOOBAR ""

但是,变量不会被删除。它保留在注册表中:

foobar

那么您实际上如何删除变量?

最佳答案

要从当前环境中删除变量(不是永久):

set FOOBAR=

要从user 环境中永久删除变量(这是setx 放置它的默认位置):

REG delete HKCU\Environment /F /V FOOBAR

如果变量是在系统环境中设置的(例如,如果您最初使用setx/M设置它),作为管理员运行:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

注意:REG上面的命令不会影响任何现有进程(以及一些从现有进程派生的新进程),因此如果更改立即生效很重要,最简单和最可靠的做法是注销并重新登录或重新启动。如果这不是一个选项或者您想深入挖掘,这里的其他一些答案提供了一些可能适合您的用例的很好的建议。

关于windows - 从操作系统级别配置中删除环境变量的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222724/

相关文章:

windows - 使用 QT 的任务计划程序 API

php - PHP 中的注册表类会像这样工作吗?

c++ - RegOpenKeyEx() 错误

python - Django 报错邮件 : env vars leak info

c++ - Microsoft Windows 7 Pro 上的实时应用程序

windows - 如何使用单个命令使用 wget 下载多个 URL?

c# - 如何使用 C# 检查 COM dll 是否已注册?

bash - Bash 中的 Shellshock 漏洞背后的行为是记录在案还是完全是故意的?

python - 如何在 Python 中设置父 shell 的环境变量?

php - 在 Windows 中,PHP 的 exec 无法识别正版命令