如何利用 [CMD 批次檔 .bat] 設定環境變數 永久與暫時
這裡將會實際做一個自動安裝JAVA的批次檔 add-java-path.bat
並讓他自動設定系統環境變數或使用者環境變數,的批次檔當範例
並讓他自動設定系統環境變數或使用者環境變數,的批次檔當範例
批次檔需要放置JAVA目錄底下執行
設定暫時變數
@echo off & Title JAVA_PATH By Charlotte.HonG& Color 1A
set "PATH=%~dp0jdk1.8.0_101\bin;%PATH%"
exit /b
這只對當前環境中的變數 PATH 修改而已,沒有實際修改到系統。1. 雙引號的位置要包含到變數。
2. %~dp0 指的是當前批次檔的所在位置。
3. 追加的路徑寫在 %PATH% 前優先級會比較高。
設定永久變數
新增至環境變數
@echo off & Title JAVA_PATH By Charlotte.HonG& Color 1A
set str=%PATH%;%~dp0jdk1.8.0_101\bin
setx /m PATH "%str%"
exit /b
新增至自定義變數
@echo off & Title JAVA_PATH By Charlotte.HonG& Color 1A
set str=%~dp0jdk1.8.0_101
setx /m JAVA_HOME "%str%"
exit /b
%PATH% 是舊有的環境變數,/m 是系統
小技巧
所以更改後如果軟體在這之前就開啟了
軟體必須重啟才能套用
範例
利用一個批次檔安裝
需要使用
Java
並在安裝完畢執行一個需要使用
Java
變數的軟體,比如說 Android Studio
分析給你看會出什麼意外
開啟bat時環境並沒有java的變數
利用批次檔安裝
利用批次檔安裝
Java
並新增永久變數
此時該批次檔還是沒有
於是你用他開啟
Java
的變數必須等到重啟才有於是你用他開啟
Android Studio
繼承該bat的環境變數啟動失敗
-
解決辦法就是暫時變數與永久變數一起修改
行查看環境變數
想要一行一行查看環境變數可以使用
ECHO.%PATH:;= & ECHO.%
問題
批次檔1024長度限制
環境變數超出1024字元會出問題,因為批次檔的關係最長支援到2048,實際上手動到系統內設置是可以超過1024的。
解決方案用 Powershell
cmd我也找不到什麼好方法,我們還是使用現代工具來解決;這個其實從Win7就開始有了,不用太擔心支援度的問題,只是幾乎沒怎麼被廣泛利用。到了Win10 1704版微軟才強制推行。
使用方法可以直接在開始搜索 PowerSehll 點擊執行,或直接在 CMD 中輸入也可以。
詳情請看站內連結:https://charlottehong.blogspot.tw/2017/07/cmd-2048.html
詳情請看站內連結:https://charlottehong.blogspot.tw/2017/07/cmd-2048.html
沒有留言:
張貼留言