ste*_*nci 3 windows registry cmd environment-variables
为什么reg delete HKCU\Environment /F /V TestVar在 Windows 7 Professional 中删除环境变量会将其从注册表中删除,但该变量仍然存在?
以下是详细信息:我创建了以下 3 个.cmd文件:
检查变量.cmd
echo TestVar = %TestVar%
pause
Run Code Online (Sandbox Code Playgroud)
设置变量.cmd
setx TestVar 123
pause
Run Code Online (Sandbox Code Playgroud)
删除变量.cmd
reg delete HKCU\Environment /F /V TestVar
pause
Run Code Online (Sandbox Code Playgroud)
然后我按照以下步骤操作(双击以确保每次都启动一个新会话):
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 步确实会删除变量。
这是我的问题的解决方案。我不知道这是否是正确的解决方案,但它对我有用:
检查变量.cmd
set TestVar
@pause
Run Code Online (Sandbox Code Playgroud)
设置变量.cmd
setx TestVar 123
@pause
Run Code Online (Sandbox Code Playgroud)
删除变量.cmd
reg delete HKCU\Environment /F /V TestVar
setx DummyVarUsedToDelete ""
reg delete HKCU\Environment /F /V DummyVarUsedToDelete
@pause
Run Code Online (Sandbox Code Playgroud)
setx不能用于删除变量,解释在这里,但它确实变后失踪的广播已经从注册表中删除reg delete。
编辑
我添加了一行DummyVarUsedToDelete从注册表中删除。这个不会播出,不过是暂时的小问题。
| 归档时间: |
|
| 查看次数: |
7625 次 |
| 最近记录: |