設置高級變量方法:
::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程序,則該程序將擁有新的環境變量。
那麼結論就很明顯了:修改環境變量之後,如果受影響的是應用程序,那麼只要簡單地重新啓動此應用程序,環境變量的修改就會反映到該程序中,而不必重新啓動計算機;但是,如果受影響的是系統服務,就必須重新啓動才能將環境變量的修改反映到系統服務中(因爲沒有辦法在不重啓計算機的情況下重新啓動系統服務管理器)。