WINDIR 環境變數解析為 %SystemRoot% 而非 C:\windows

WINDIR 環境變數解析為 %SystemRoot% 而非 C:\windows

前段時間,我手動更改了WINDIR環境變數來測試我正在使用的遺留程式中的某些內容(應該在虛擬機器而不是我的桌面上完成此操作:/但現在為時已晚)

因此,出於某種原因,現在%WINDIR%不再解析為 c:\windows,而是解析為 %SystemRoot%。從命令列:

echo %WINDIR% outputs %SystemRoot%

echo %SystemRoot% outputs C:\windows

無法解決 WINDIR 問題讓我頭痛不已。我嘗試將控制台視窗中的值WINDIR明確設定c:\windows為,但無濟於事。我還嘗試手動更改windir註冊表項的值

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\windier

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment\windir

但仍不走運。有人以前看過這種行為嗎?

忘了提及這是在 Windows 7 Enterprise ed 上

答案1

請檢查您所擁有的值的類型Windir。您可能無意中將其從 更改REG_EXPAND_SZREG_SZ。您必須直接在登錄中執行此操作(GUI 面板不會向您顯示差異):

啟動登錄編輯器,導航至HKEY_LOCAL_MACHINE\system\currentControlSet\Control\Session Manager\Environment.
檢查其windir類型為 REG_EXPAND_SZ.
如果沒有,請重新建立該條目: windir REG_EXPAND_SZ %SystemRoot%

登出/登入並檢查是否有效

答案2

更正!%SystemRoot%是預設值。所以這個變數在你的系統中設定正確。

在此輸入影像描述

右鍵單擊電腦——設定——進階系統設定——進階——環境變數。在該視窗的第二部分(在環境變數下),您可以找到您的變數溫迪爾指向%systemroot%。將其更改為%SystemRoot%,這是預設值並測試是否仍然出現錯誤。

相關內容