2011-02-26 67 views
11

如果我有一個同名的系統和用戶環境變量,它們是如何處理的?級聯?用戶覆蓋系統?並採取這種計數,如果我需要添加一些方法添加到更方便的路徑?如何評估環境變量?

回答

12

我認爲這篇文章應該回答你的問題:Environment variables in Windows NT

用戶環境變量

用戶環境變量可以 從控制面板以及查看。 用戶可以添加,刪除或修改用戶字段的用戶環境變量 中的環境變量。 這些變量優先於系統環境變量 。用戶 路徑被追加到系統路徑。

+0

該文章是erroneus。嘗試刪除用戶路徑的%PATH%。然後,所有需要該路徑的東西都不能正常工作。我在想用戶變量會覆蓋系統變量。所以,如果我有一個空的用戶路徑變量,我會有很多問題來執行幾乎所有的事情。要重新建立值,您可以刪除該變量或使用%PATH%重新設置它;字首。你可以使用powershell:set-itemproperty hkcu:\ Environment -name Path -value「%PATH%」 – mjsr 2011-02-26 14:33:22

+2

@ Ps1CsCpp,我不認爲你說的是​​正確的。該文章指出用戶PATH條目附加到系統範圍的PATH。對於您的場景,空的用戶PATH對提供給進程的PATH沒有影響。換句話說,在系統PATH的末尾添加一個空字符串將不起作用。我已經在Windows 8上測試過了。 – 2013-09-03 18:37:03

8

一切飛濺說是正確的。要明確地說明,評估用戶路徑環境變量的方式與評估其他用戶環境變量之間存在差異。如果兩者都存在,則常規用戶環境變量將完全覆蓋具有相同名稱的系統,但僅限於爲其指定的特定用戶。 但是,用戶路徑變量的處理方式不同。在評估時,將附加到到系統路徑變量,而不是完全替換它。我相信飛濺狀態,但他們做得如此簡潔,我認爲它需要拼寫。