透過批次檔搜尋並取代環境變數的值?

透過批次檔搜尋並取代環境變數的值?

我想創建一個批次檔來快速切換 PATH 變量,以便能夠在不同的環境中工作,然後創建另一個批次檔來恢復它。我認為這將透過setx某種形式的搜尋和替換來完成,但是我對批次檔一無所知。

答案1

雖然這並沒有直接回答你的問題,但它確實解決了你的問題,因此,我發現這個答案值得,而不是評論。

PATH環境變數可以儲存多個路徑。搜尋路徑的順序是從左到右。這實際上意味著,如果您將路徑新增至 PATH 環境變數的開頭,則會先搜尋該路徑。

這樣就無需替換現有路徑,除非您需要確保刪除其他路徑,而此解決方案無法做到這一點。

若要將資料夾新增至 PATH 環境的開頭,請使用下列程式碼:

set PATH=c:\myfolder;%PATH%

;%PATH% 必須存在,否則您將清除路徑集並將其完全替換為您自己的資料夾。

鑑於使用了 set 命令,這將僅儲存當前會話的路徑。要將路徑傳輸到 Windows 環境,以便為每個會話記住它,您需要執行以下命令:

setx PATH "%PATH%"

鑑於您想稍後使用它來恢復它,我建議創建 2 個批次檔來啟動您想要使用不同路徑的任何內容,並且在使用備用路徑的檔案上,您從 SET 命令開始,而對於使用真品的人來說,你不需要。

這樣,每次運行備用路徑的批次檔時,都會先新增並蒐索該路徑,以便找到該路徑。

最後,可以根據其他環境變數設定 PATH,這樣您就可以進行切換。

首先,您需要建立原始路徑的 2 個副本:

setx PATH_orig "%PATH%"
setx PATH_alt "%PATH%"

現在,按照通常編輯 PATH 的方式編輯 PATH_alt。

現在您可以使用以下命令簡單地進行切換:

:: Restore to original
setx PATH "PATH_orig"

:: Set alternate path
setx PATH "PATH_alt"

相關內容