1. 程式人生 > >bat指令碼設定臨時系統環境變數

bat指令碼設定臨時系統環境變數

有這樣一個場景,需要在一臺電腦上執行C#和matlab混編的程式,但是這臺電腦為了其他軟體需要已經安裝了matlab,而且兩個軟體所需要的MCR版本不一致。

所以,這個時候設定臨時系統環境變數,可以在不影響原有程式執行的基礎上滿足軟體指定路徑的需要。

其實原理很簡單,安裝軟體的時候,都會修改系統環境變數Path,將自己的路徑追加到最後面。

windows 環境變數Path前面優先順序最高,如果找到命令就不會再向後找,只要將自己的設定的環境變數加到最前面就可以了。

命令列輸入:

set path=%your_setpath%;%path%
然後再呼叫自己的程式,完成。

一下是bat指令碼  引數裡面有空格需要用雙引號括起來

例如: 

setClassPath.bat "D:\Program Files (x86)\JustForTest\"
setClassPath.bat 檔案內容
@echo off
setlocal enabledelayedexpansion
set default_value=Your New Matlab Program Path
::set default_value=D:\Program Files (x86)\JustForTest\
::格式化括號
set "default_value=%default_value:(=^(%"
set "default_value=%default_value:)=^)%"
if "%1"=="" ( 
	set prestr=%default_value%
) else ( 
	set prestr=%1
)
set path=%prestr%;%path%
echo %path%
::這裡呼叫自己的程式
設定臨時環境變數隻影響當前命令列及呼叫的程式

之前一直寫不出來部落格,很多問題在網上前輩都解決了。這個問題原理和實現也很簡單,希望會有用。