2014-01-21 50 views
0

在這裏最好的答案(How to persistently set a variable in Windows 7 from a batch file?)的頂部投票評論中提到%PATH%擴展到系統加用戶變量。真的嗎?在我的筆記本電腦上,如果我打開cmd和我的數字是否將echo%PATH%擴展爲僅系統或用戶變量?

echo %PATH% 

我只看到系統變量。任何人都可以澄清這一點嗎?

歡呼 A.

+0

你是什麼意思:「在我的筆記本電腦這不會發生」?你在做什麼/你看到了什麼? – Gerrat

+0

好吧,我很抱歉我現在解釋得更好 – Lupocci

回答

4

的是,默認情況下的環境,給一個新的進程,合併系統和用戶變量。因此,如果您爲系統和用戶定義了一個變量PATH,那麼這兩個值將被合併。

您的實驗似乎與我上面的陳述相矛盾。但是,當我重複實驗時,我可以看到來自系統和用戶設置的值合併。所以我只能斷定你沒有正確地執行你的實驗。

更新:也許這comment from the MSDN topic on environment variables可能是中肯:

發現,Windows Server 2003上,一旦系統路徑經過1920個字符,用戶PATH環境變量不再合併其設置進程PATH環境變量,即使完整的系統PATH(即使更大)也將包含在進程PATH變量中。

+0

是的,有一個字符限制。這解決了這個問題。謝謝。 – Lupocci

+0

我想補充一點,即使某些目錄是通過使用其他變量(如%comp%\ redist \ intel64 \ mkl)存儲的,重要的是EXPANDED路徑的長度!如果後者大於1920年,PATHS不合並,即使非擴展更短! – Lupocci

相關問題