set命令
set命令用于設置當前cmd窗口中的環境變量,只在當前cmd窗口有效,cmd窗口關閉后將會失效,而其不會影響到系統中保存的用戶環境變量。
setx命令
setx設置永久用戶環境變量
setx env_name env_value
注意:有的路徑中會帶有空格,所以最好用雙引號把變量和值都包裹起來,也就是寫成如下形式:
setx "env_name" "env_value"
例,追加一個路徑到用戶path環境變量中:
setx "path" "D:\test;%path%"
setx設置永久系統環境變量
setx加上/m參數表示設置的是系統的環境變量,格式如下所示:
setx env_name env_value /m
注意:有的路徑中會帶有空格,所以最好用雙引號把變量和值都包裹起來,也就是寫成如下形式:
setx "env_name" "env_value" /m
例如,設置當前路徑%cd%到系統環境環境變量中:
setx "Path" "%cd%;%path%" /m
注意:setx設置環境變量后,將在新打開的終端中生效,當前終端不會立即生效。
注意:setx可能會在環境變量中設置多個相同的值,例如,在當前cmd窗口中運行:
setx "Path" "D:\test;%path%" /m
然后再重新打開cmd窗口,進入D:\test路徑,然后再次運行:
setx "Path" "D:\test;%path%" /m
這樣D:\test將會在path環境變量中出現兩次.
用setx設置永久環境變量及注意事項
設置用戶環境變量
setx ENV_NAME env_value
設置系統環境變量
setx ENV_NAME env_value /m
注意1.
在某些情況下會出現“setx 無效語法 默認選項不能超過'2'次”的錯誤,據信是因為原先的環境變量中存在空格導致的,可使用雙引號進行避免。
注意2.
setx設置環境變量后,將在新打開的終端中生效,當前終端不會立即生效。所以當設置path這樣內容較為豐富的環境變量時,要一次到位,而不要針對同一變量反復調用setx。例如:
正確做法:
set path_=%Path%
setx “Path” “%path_%;newpath1;newpath2” /m
錯誤做法:
set path_=%Path%
setx “Path” “%path_%;newpath1” /m
setx “Path” “%path_%;newpath2” /m
上述錯誤的做法將會漏掉newpath1。
原文鏈接:https://blog.csdn.net/qq_21808961/article/details/86749758