命令行从OS级configuration中删除环境variables
Windows有setx
命令
Description: Creates or modifies environment variables in the user or system environment.
所以你可以像这样设置一个variables
setx FOOBAR 1
你可以像这样清除这个值
setx FOOBAR ""
但是,该variables不会被删除,它保留在registry中
那么你怎样才能真正移除variables?
从当前环境中删除variables( 不是永久的):
set FOOBAR=
要永久地从用户环境中删除variables(这是setx
放置它的默认位置):
REG delete HKCU\Environment /F /V FOOBAR
如果variables在系统环境中设置(例如,如果您最初设置为setx /M
),以pipe理员身份运行:
REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR
要从当前命令会话中删除variables而不永久删除它,请使用常规的内置set
命令 – 只需在等号后面不加任何内容:
set FOOBAR=
要确认,运行set
没有参数,并检查当前的环境。 variables应该从列表中完全丢失。
注意 :这只会从当前环境中删除variables – 它不会将更改保留在registry中。 当一个新的命令过程开始时,variables将回来。
同意CupawnTae。
SET
对主环境的更改没有用处。
仅供参考:系统variables位于HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
(比用户variables长很多)。
因此,对于名为FOOBAR的系统variables的完整命令是: REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR
(注意处理空间所需的引号)
太糟糕了, setx
命令不支持删除语法。 🙁
PS:使用负责任的 – 如果你杀死你的pathvariables,不要责怪我!
上述命令不起作用,但是这样做:
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FOOBAR /f
快捷HKLM
可用于HKEY_LOCAL_MACHINE
。
setx FOOBAR“”只是使FOOBAR的值为空string。 (虽然,它显示与设置命令与“”所以也许双引号是string。
我用:设置FOOBAR =
然后FOOBAR不再列在命令集中。 (不需要注销)
Win7的32位,使用命令提示符,非pipe理员是我使用的。 (不是cmd或Windows-r,可能不同。)
顺便说一句,我没有看到我创build后,在registry中的任何地方创build的variables。 我使用的不是pipe理员registry。