为什么reg delete HKCU\Environment /F /V TestVar
在Windows 7 Professional中使用删除环境变量,会将其从注册表中删除,但该变量仍然存在?
详细信息如下:我创建了以下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仍会删除该变量。
这是我的问题的解决方案。我不知道这是否是正确的解决方案,但对我有用:
检查variable.cmd
set TestVar
@pause
设置variable.cmd
setx TestVar 123
@pause
删除variable.cmd
reg delete HKCU\Environment /F /V TestVar
setx DummyVarUsedToDelete ""
reg delete HKCU\Environment /F /V DummyVarUsedToDelete
@pause
setx
不能用于删除变量,解释在这里,但它确实变后失踪的广播已经从注册表中删除reg delete
。
编辑
我添加了一行以DummyVarUsedToDelete
从注册表中删除。这将不会广播,但这是一个暂时的小问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句