bat:設置高級環境變量並不重啓生效

設置高級變量方法:

::MAVENPATH爲將要添加的系統變量
SET  MAVENPATH=D:\JDK\apache-maven-3.6.3\bin
wmic ENVIRONMENT where "name='path' and username='<system>'"  set VariableValue="%path%;%MAVENPATH%"

不能用

::該命令只會對當前cmd生效,而不會在系統環境變量添加

set PATH=C: 

是對副本的修改卻會引發Windows環境變量的刷新,這正是我們想要的!

 以修改環境變量“PATH”爲例,執行第一個腳本後,進入DOS命令提示符,輸入:set PATH=C: ,關閉DOS窗口。再次打開DOS窗口,輸入:echo %PATH% ,可以發現“我的電腦”->“屬性”->“高級”->“環境變量”中設置的 PATH 值已經生效。當然也可以通過腳本來實現

這裏要理解的是,一個程序啓動時,環境變量被複制到該程序所在的環境中,在該程序執行過程中不會被除該程序以外的其他程序所改變。也就是說,假設我們啓動了一個cmd程序,然後通過控制面板修改了環境變量設置,但是已經啓動了的cmd所擁有的環境變量並不會被改變。如果我們在修改環境變量之後啓動cmd程序,則該程序將擁有新的環境變量。
那麼結論就很明顯了:修改環境變量之後,如果受影響的是應用程序,那麼只要簡單地重新啓動此應用程序,環境變量的修改就會反映到該程序中,而不必重新啓動計算機;但是,如果受影響的是系統服務,就必須重新啓動才能將環境變量的修改反映到系統服務中(因爲沒有辦法在不重啓計算機的情況下重新啓動系統服務管理器)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章