天天看點

Windows不重新開機使環境變量修改生效的詳細步驟

win10修改環境變量的一般方法是在“我的電腦”->“屬性”->“進階”->“環境變量”中增加或修改環境變量。具體如下圖所示。

  1. 右單擊 檔案管理器中或者桌面的“此電腦”圖示,單擊屬性。
    Windows不重新開機使環境變量修改生效的詳細步驟
    Windows不重新開機使環境變量修改生效的詳細步驟
  1. 點選“進階系統設定”
    Windows不重新開機使環境變量修改生效的詳細步驟
  2. 點選系統屬性彈窗的“進階”目錄下的“環境變量”
    Windows不重新開機使環境變量修改生效的詳細步驟
  3. 修改環境變量
    Windows不重新開機使環境變量修改生效的詳細步驟
    這時候就會出現環境變量的設定界面。其中使用者變量隻對目前變量生效,系統變量對所有使用者起作用。pc的話一般就是單使用者登入就無所謂了。這時候就可以通過點選"編輯"或者是“建立”按鈕對已有環境變量進行修改或者是新增環境變量了。
注意修改的時候,環境變量直接分隔符是英文符的分号。

修改後,需重新開機系統才能使之生效。這就很麻煩,因為我寫代碼的時候一般會同時看視訊,重新開機後還要連網、找視訊、找到當時看的位置。。。。好吧,我就想,有沒有什麼方法可讓它即時生效呢?

以修改環境變量“PATH”為例,修改完成後,進入DOS指令提示符,輸入:set PATH=C: ,關閉DOS視窗。再次打開DOS視窗,輸入:echo %PATH% ,可以發現“我的電腦”->“屬性”->“進階”->“環境變量”中設定的 PATH 值已經生效。

不用擔心DOS視窗中的修改會影響環境變量的值,DOS視窗中的環境變量隻是Windows環境變量的一個副本而已。但是對副本的修改卻會引發Windows環境變量的重新整理,這正是我們想要的!

詭異啊,使用win+R->cmd 啟動的cmd.exe 會發現在電腦屬性中設定的環境變量立馬生效了,在其他模式下啟動的cmd卻沒有發生效果,怪哉!!檢視了一下資料,在電腦屬性中設定環境變量以後,以後啟動的程式和線程會生效,而對以前駐留記憶體的程式不起作用,也有人說kill explorer.exe 再啟動explorer.exe 可以激發設定其作用。

這裡要了解的是,一個程式啟動時,環境變量被複制到該程式所在的環境中,在該程式執行過程中不會被除該程式以外的其他程式所改變。也就是說,假設我們啟動了一個cmd程式,然後通過控制台修改了環境變量設定,但是已經啟動了的cmd所擁有的環境變量并不會被改變。如果我們在修改環境變量之後啟動cmd程式,則該程式将擁有新的環境變量。

那麼結論就很明顯了:修改環境變量之後,如果受影響的是應用程式,那麼隻要簡單地重新啟動此應用程式,環境變量的修改就會反映到該程式中,而不必重新啟動計算機;但是,如果受影響的是系統服務,就必須重新啟動才能将環境變量的修改反映到系統服務中(因為沒有辦法在不重新開機計算機的情況下重新啟動系統服務管理器)

參考文獻:

https://www.cnblogs.com/zht-blog/p/4033951.html