为什么在Windows7Professional中删除带有reg delete HKCU\Environment /F /V TestVar
的环境变量从注册表中删除,但该变量仍然存在?
下面是详细信息:我创建了以下3个.cmd
文件:
检查variable.cmd
echo TestVar = %TestVar%
pause
集variable.cmd
setx TestVar 123
pause
删除variable.cmd
reg delete HKCU\Environment /F /V TestVar
pause
然后执行以下步骤(双击以确保每次启动新会话):
Check variable.cmd
,我发现TestVar
不存在Set variable.cmd
,上面写着SUCCESS: Specified value was saved.
Check variable.cmd
并显示变量值。好的!Delete variable.cmd
,上面写着The operation completed successfully.
Check variable.cmd
,它仍然显示变量值。坏的!environment
”,单击“Edit environment variables for your account
”打开“Environment Variables
”对话框,单击“OK
”而不更改任何内容。Check variable.cmd
,该变量不再存在我可以在步骤2之后在注册表中找到值,在步骤4之后找不到它,但是步骤5仍然找到它。即使我没有改变任何东西,第6步也确实删除了变量。
发布于 2015-04-18 00:30:51
可以使用setx
删除环境变量,这将广播正确的消息:
setx TestVar ""
reg delete HKCU\Environment /F /V TestVar
(正如注释中所讨论的,使用setx
本身将在注册表中留下一个空条目,为了一致性起见,应该删除该条目。)
https://stackoverflow.com/questions/29688131
复制相似问题