首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除环境变量无效

删除环境变量无效
EN

Stack Overflow用户
提问于 2015-04-17 00:17:28
回答 4查看 9.6K关注 0票数 3

为什么在Windows7Professional中删除带有reg delete HKCU\Environment /F /V TestVar的环境变量从注册表中删除,但该变量仍然存在?

下面是详细信息:我创建了以下3个.cmd文件:

检查variable.cmd

代码语言:javascript
运行
复制
echo TestVar = %TestVar%
pause

集variable.cmd

代码语言:javascript
运行
复制
setx TestVar 123
pause

删除variable.cmd

代码语言:javascript
运行
复制
reg delete HKCU\Environment /F /V TestVar
pause

然后执行以下步骤(双击以确保每次启动新会话):

  1. 双击Check variable.cmd,我发现TestVar不存在
  2. 双击Set variable.cmd,上面写着SUCCESS: Specified value was saved.
  3. 双击Check variable.cmd并显示变量值。好的!
  4. 双击Delete variable.cmd,上面写着The operation completed successfully.
  5. 双击Check variable.cmd,它仍然显示变量值。坏的!
  6. 单击“开始”菜单,键入“environment”,单击“Edit environment variables for your account”打开“Environment Variables”对话框,单击“OK”而不更改任何内容。
  7. 双击Check variable.cmd,该变量不再存在

我可以在步骤2之后在注册表中找到值,在步骤4之后找不到它,但是步骤5仍然找到它。即使我没有改变任何东西,第6步也确实删除了变量。

EN

Stack Overflow用户

发布于 2015-04-18 00:30:51

可以使用setx删除环境变量,这将广播正确的消息:

代码语言:javascript
运行
复制
setx TestVar ""
reg delete HKCU\Environment /F /V TestVar

(正如注释中所讨论的,使用setx本身将在注册表中留下一个空条目,为了一致性起见,应该删除该条目。)

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29688131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档