1. 程式人生 > >cmd 環境變數設定方法詳細解釋

cmd 環境變數設定方法詳細解釋

cmd設定環境變數可以方便我們bat指令碼的執行,但是要注意的是變數只在當前的cmd視窗有作用(區域性生效),如果想要設定持久的環境變數需要我們通過兩種手段進行設定:一種是直接修改登錄檔,另一種是通過我的電腦-〉屬性-〉高階,來設定系統的環境變數。

1、檢視當前所有可用的環境變數:輸入 set 即可檢視。

2、檢視某個環境變數:輸入 “set 變數名”即可,比如想檢視temp變數的值,即輸入 set temp

當然也可以使用echo %temp%

3、修改環境變數 :輸入 “set 變數名=變數內容”即可,比如將temp設定為“d:\tempfile”,只要輸入set temp="d:\tempfile"。注意,此修改環境變數是指用現在的內容去覆蓋以前的內容,並不是追加。比如當我設定了上面的path路徑之後,如果我再重新輸入set temp="c",再次檢視temp路徑的時候,其值為“c”,而不是“d:\tempfile”;“c”。

4、設定為空:如果想將某一變數設定為空,輸入“set 變數名=”即可。如“set path=” 那麼檢視path的時候就為空。注意,上面已經說了,只在當前命令列視窗起作用。因此檢視path的時候不要去右擊“我的電腦”——“屬性”........

5、給變數追加內容(不同於3,那個是覆蓋):輸入“set 變數名=%變數名%;變數內容”。如,為temp新增一個新的路徑,輸入“ set path=%path%;d:\tempfile”即可將d:\tempfile新增到path中,再次執行"set path=%path%;c:",那麼,使用set path語句來檢視的時候,將會有:d:\tempfile;c:,而不是像第3步中的只有c:。

環境變數詳細解釋

1、檢視當前可用的所有環境變數(=系統變數+使用者變數)

set

檢視某個環境變數,如PATH

set PATH

新增環境變數,如xxx=aa

set xxx=aa

將環境變數(如xxx)的值置為空

set xxx=

在某個環境變數(如PATH)後新增新的值(如d:\xxx)

set PATH=%PATH%;d:\xxx

[注]:以命令列方式對環境變數的操作只對當前視窗的應用有效!

2、Windows下JAVA用到的環境變數主要有3個:JAVA_HOME、CLASSPATH、PATH。

1)JAVA_HOME指向的是JDK的安裝路徑,如x:\ j2sdk1.4.2,在這路徑下你應該能夠找到bin、lib等目錄。設定方法:JAVA_HOME=c:\ j2sdk1.4.2

2)PATH變數的作用
java程式在執行時首先在path變數所定義的路徑去找java.exe,並以最先找到的為準,如果安裝完j2sdk後不加設定,一般是C:\WINDOWS\system32目錄。
j2sdk1.4(還有其它java開發工具如jbuilder8)在安裝後會將java.exe拷貝到C:\WINDOWS\system32目錄下,當執行java.exe時,需要裝載這個SDK下的一些檔案。
如j2sdk1.4在安裝完成後,C:\WINDOWS\system32下的java.exe在執行時會在C:\Program File\java\目錄下裝載必需的一些檔案。但安裝j2sdk後一般會在PATH變數的最前面設定C:\ j2sdk1.4.2 \bin。
當先安裝j2sdk1.4.2,後安裝jbuilder8等開發工具時,由於jbuilder8的java.exe在拷貝到C:\WINDOWS\system32時可能覆蓋了j2sdk1.4.2的java.exe,那麼這時在執行的java.exe會到jbuilder8所在的目錄去裝載必需的一些檔案。

3)CLASSPATH環境變數的作用
告訴類裝載器到哪裡去尋找第三方提供的類和使用者定義的類。也可用使用JVM命令列引數-classpath分別為應用程式指定類路徑,在-classpath中指定的類路徑覆蓋CLASSPATH環境變數中指定的值。

3、當機器內裝有多個SDK版本時,如何檢視所用的是哪個SDK?

java -verbose

在出現的螢幕資訊中可以看出系統裝載的是哪個目錄下的檔案。

4、Windows OS下設定PATH的方法

〔系統〕->〔環境〕-> 〔高階〕,在PATH變數的文字框中的最前面輸入C:\ j2sdk1.4.2\bin
或在命令列視窗中執行 set path=c:\j2sdk1.4.2\bin;%path%; 這樣在命令列視窗的任一路徑下都可以執行java.exe程式了。或設定PATH=%JAVA_HOME%\bin;%PATH%

5、對於CLASSPATH環境變數的設定方法要加倍小心,是因為以後你出現的莫名其妙80%以上的怪問題都可能是由於CLASSPATH設定不對引起的。

CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

首先要注意的是最前面的".\;",——句點反斜槓分號。這個是告訴JDK,搜尋CLASS時先查詢當前目錄的CLASS檔案。
【Troubleshooting】

編譯會出現以下情況,看你是否真得都理解環境變數的設定,並能解決它。
[T1]error:java不是一個可執行的程式? 由於沒有設定環境變數path
[T2] error:不能開啟某個目錄? 可能是忽視了path環境變數中的目錄的設定順序。
[T3]Exception on thread “main” java.lang.DoClassDefFoundError:Test? 沒有設定classpath的路徑。

cmd檢視環境變數

1、檢視當前所有可用的環境變數:輸入 set 即可檢視。
2、檢視某個環境變數:輸入 “set 變數名”即可,比如想檢視path變數的值,即輸入 set path
3、修改環境變數 :輸入 “set 變數名=變數內容”即可,比如將path設定為“d:\hacker.exe”,只要輸入set path="d:\nmake.exe"。注意,此修改環境變數是指用現在的內容去覆蓋以前的內容,並不是追加。比如當我設定了上面的path路徑之後,如果我再重新輸入set path="c",再次檢視path路徑的時候,其值為“c:”,而不是“d:\nmake.exe”;“c”。
4、設定為空:如果想將某一變數設定為空,輸入“set 變數名=”即可。如“set path=” 那麼檢視path的時候就為空。注意,上面已經說了,只在當前命令列視窗起作用。因此檢視path的時候不要去右擊“我的電腦”——“屬性”........
5、給變數追加內容(不同於3,那個是覆蓋):輸入“set 變數名=%變數名%;變數內容”。如,為path新增一個新的路徑,輸入“ set path=%path%;d:\hacker.exe”即可將d:\hacker.exe新增到path中,再次執行"set path=%path%;c:",那麼,使用set path語句來檢視的時候,將會有:d:\hacker.exe;c:,而不是像第3步中的只有c:。

%ALLUSERSPROFILE% 區域性 返回所有“使用者配置檔案”的位置。
%APPDATA% 區域性 返回預設情況下應用程式儲存資料的位置。
%CD% 區域性 返回當前目錄字串。
%CMDCMDLINE% 區域性 返回用來啟動當前的 Cmd.exe 的準確命令列。
%CMDEXTVERSION% 系統 返回當前的“命令處理程式擴充套件”的版本號。
%COMPUTERNAME% 系統 返回計算機的名稱。
%COMSPEC% 系統 返回命令列直譯器可執行程式的準確路徑。
%DATE% 系統 返回當前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關 date 命令的詳細資訊,請參閱 Date。
%ERRORLEVEL% 系統 返回最近使用過的命令的錯誤程式碼。通常用非零值表示錯誤。
%HOMEDRIVE% 系統 返回連線到使用者主目錄的本地工作站驅動器號。基於主目錄值的設定。使用者主目錄是在“本地使用者和組”中指定的。
%HOMEPATH% 系統 返回使用者主目錄的完整路徑。基於主目錄值的設定。使用者主目錄是在“本地使用者和組”中指定的。
%HOMESHARE% 系統 返回使用者的共享主目錄的網路路徑。基於主目錄值的設定。使用者主目錄是在“本地使用者和組”中指定的。
%LOGONSEVER% 區域性 返回驗證當前登入會話的域控制器的名稱。
%NUMBER_OF_PROCESSORS% 系統 指定安裝在計算機上的處理器的數目。
%OS% 系統 返回作業系統的名稱。Windows 2000 將作業系統顯示為 Windows_NT。
%PATH% 系統 指定可執行檔案的搜尋路徑。
%PATHEXT% 系統 返回作業系統認為可執行的副檔名的列表。
%PROCESSOR_ARCHITECTURE% 系統 返回處理器的晶片體系結構。值: x86,IA64。
%PROCESSOR_IDENTFIER% 系統 返回處理器說明。
%PROCESSOR_LEVEL% 系統 返回計算機上安裝的處理器的型號。
%PROCESSOR_REVISION% 系統 返回處理器修訂號的系統變數。
%PROMPT% 區域性 返回當前解釋程式的命令提示符設定。由 Cmd.exe 生成。
%RANDOM% 系統 返回 0 到 32767 之間的任意十進位制數字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系統 返回包含 Windows XP 根目錄(即系統根目錄)的驅動器。
%SYSTEMROOT% 系統 返回 Windows XP 根目錄的位置。
%TEMP% and %TMP% 系統和使用者 返回對當前登入使用者可用的應用程式所使用的預設臨時目錄。有些應用程式需要 TEMP,而其它應用程式則需要 TMP。
%TIME% 系統 返回當前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關 time 命令的詳細資訊,請參閱 Time。
%USERDOMAIN% 區域性 返回包含使用者帳戶的域的名稱。
%USERNAME% 區域性 返回當前登入的使用者的名稱。
%UserProfile% 區域性 返回當前使用者的配置檔案的位置。
%WINDIR% 系統 返回作業系統目錄的位置。