windows下用批處理設定設定環境變數
裝許多的行業軟體的時候需要手動在系統裡面加環境變數,比如oracle精簡客戶端等等。一臺機器沒什麼,多了就費時費力還容易出錯。
一般都是這樣:
set PATH = %PATH%;D:\ytfy
此命令只對當前視窗有效,批處理一旦結束,變數就失效了。
常用此方法配置當前軟體的執行環境,如在PL/SQL的啟動時,使用批處理(bat)來啟動他並配置Oracle的變數資訊。
第二種:通過登錄檔設定,有點費解
參考此文
::新增環境變數JAVA_HOME
@echo off
echo 新增java環境變數
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
set javapath=c:\java\jdk
reg add "%regpath%" /v %evname% /d %javapath% /f
pause>nul
::刪除環境變數JAVA_HOME
@echo off
echo 刪除java環境變數
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
reg delete "%regpath%" /v "%evname%" /f
pause>nul
第三種:也是我比較喜歡的,類似第一種比較簡單的命令
1.參考 在path中加入JAVA執行如下:setx Path "%Path%;%ORACLE_HOME%\bin"
這是針對當前使用者,本使用者的環境變數生效!
setx /M wu "%comspec%;c:\wu"
這個是系統環境變數
總結:
SETX 則用於設定使用者環境變數和系統環境變數
- SET UsrVariable abc (設定使用者環境變數 記錄在HKEY_CURRENT_USER )
- SET /M OSVariable abc (設定系統環境變數 記錄在HKEY_LOCAL_MACHINE)
主要參考(注意的是win vista及其紙上的windows版本都預設有setx工具,xp及其以下的windows系統是沒有的)
2.參考
@echo off
:: 設定第三方庫環境變數THIRD_PARTY
wmic ENVIRONMENT create name="THIRD_PARTY",username="<system>",VariableValue="%~dp0ThirdPartyLib"
echo %THIRD_PARTY%
THIRD_PARTY為環境變數名,<system>表示你新增的是系統環境變數,%~dp0表示批處理檔案所在的資料夾,例如,你的bat檔案在e:/MyProject/test.bat,則%0就是%~dp0是e:/MyProject/,%~dp0ThirdPartyLib就是e:/MyProject/ThirdPartyLib。