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