題 cmd.exe SET命令不保存新cmd.exe會話的值[重複]


可能重複:
在Windows XP中設置永久環境變量
有沒有辦法從命令行PERMANENTLY設置Windows環境變量 

 命令不會在cmd.exe會話之間保存值。如何在新的cmd.exe會話之間保存環境值?

例如,set命令僅適用於我當前的會話:

set path=%path%;C:\Mingw\bin

重啟cmd.exe後我的 路徑 字符串已被重置。

可能的方法: .bashrc或.bash_profile等效於DOS


6
2018-05-28 20:39


起源


僅供參考, cmd.exe 是 不是DOS。它是一個原生的32位Windows程序。該 只要 與MS-DOS相同的是命令語法。 - grawity
@grawity:在某些地方甚至沒有。比如說 for 聲明具有不同(和不可約束)的行為。 - Joey
@Johannes:我認為取決於“命令提示擴展”是否開啟。 - grawity
@grawity:即便如此。 - Joey


答案:


根據此主題中的答案使用SETX(從右側鏈接此處作為相關問題): 有沒有辦法從命令行PERMANENTLY設置Windows環境變量


11
2018-05-28 21:18





從全局環境變量添加/更改它們。要訪問它(假設Windows XP作為您的操作系統),請右鍵單擊 My Computer  - > Properties  - > Advanced Tab  - > Environment Variables 並添加所需的一切。


3
2018-05-28 20:46





你有幾個選擇:

假設Windows XP專業版:

  1. 進入c:\ windows \ system32 \ autoexec.nt並更改為添加路徑。
  2. 右鍵單擊我的電腦,進入屬性,高級,環境變量,在那裡更改。
  3. 創建登錄腳本。右鍵單擊“我的電腦”,進入“管理”。進入本地用戶和組,然後進入用戶。右鍵單擊登錄,選擇屬性,進入Profile並設置登錄腳本。它查找登錄腳本的默認位置是c:\ windows \ system32 \ repl \ import \ scripts。

1
2018-05-28 20:50



什麼是登錄腳本?使用set僅適用於該特定cmd實例。它將運行,然後不會影響任何後續命令提示會話。 - MDMarra
您可以在登錄中設置環境。然後它被強制進入環境變量空間。後續命令提示符會話繼承這些變量。可以在這裡使用SetX或Setenv。 - Blackbeagle
您不需要多次使用setx或setenv,因此每次登錄都不需要這樣做。 - MDMarra
沒錯,它應該修改註冊表。我沒有必要繼續推動它,但至少在某個地方有一個賭注標記,你確實推了一些東西。如果您是從命令行或GUI中執行此操作,則不知道它是否在以後發生。保持在這裡是多餘的啟動,但一個永久的地方,以後看看你做了什麼。 - Blackbeagle
echo%path%應該足以顯示您添加到路徑中的內容。 - MDMarra


要得到 視窗 要保存環境變量,請右鍵單擊“我的電腦”,單擊 Properties, 然後 Advanced | Environment Variables 並在那裡編輯它。


0
2018-05-28 20:46



DOS的.bashrc或.bash_profile是否相同? - snmcdonald