爲什麼在Windows 7 Professional中使用reg delete HKCU\Environment /F /V TestVar
刪除環境變量會將其從註冊表中刪除,但該變量仍存在?刪除環境變量不起作用
下面是詳細信息:我創建了以下3個.cmd
文件:
檢查variable.cmd
echo TestVar = %TestVar%
pause
集variable.cmd
setx TestVar 123
pause
刪除變量.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
- 雙擊和它說
Check variable.cmd
The operation completed successfully.
- 雙擊它仍然顯示變量值。壞!
- 單擊開始菜單,鍵入
environment
,點擊Edit environment variables for your account
打開Environment Variables
對話框中,單擊OK
不做改變 - 上
Check variable.cmd
雙擊和變量不存在了
我能找到在步驟2後註冊表中的值在步驟4後找不到它,但步驟5仍然可以找到它。即使我沒有改變任何東西,第6步真的會刪除變量。
您必須廣播一條消息來通知應用程序(在本例中爲Windows資源管理器)的更改。請參閱http://stackoverflow.com/a/5246097/886887 –
@HarryJohnston:如何從批處理文件中廣播消息? – stenci