早從DOS就有環境變數(UNIX-like系統也都有)。環境變數是儲存與系統相關的資訊,它的格式很簡單,就是將字串值指定給變數名稱。系統在開機之後,會自行設定若干環境變數,以作為系統運作之用,而這些環境變數的值,原本是存放在登錄資料庫,開機之後才自登錄資料庫取出,並指定給環境變數。

舉例來說,雖然安裝程式預設會將Windows系統安裝到C磁碟機的Windows資料夾、會將軟體安裝到C磁碟機的Program Files資料夾,但這只是預設值,不見得每個Windows都如此,而這些資料夾的實際位置,也會記錄在特定的環境變數:


%WinDir%:記錄Windows系統資料夾
%ProgramFiles%:記錄軟體安裝資料夾
也就是說,透過環境變數,將能夠得知系統的相關資訊。環境變數大多數是為程式所用,例如批次檔就常使用環境變數。不過,我們也可以『檔案總管』或『執行』交談窗,配合記錄資料夾位置的環境變數,快速開啟資料夾。例如將%windir%輸入到『檔案總管』的『網址』列,再按下Enter按鍵,『檔案總管』隨即切換到Windows系統資料夾。

系統存取環境變數的順序

Autoexec.bat
系統變數
使用者變數
也就是說,相同變數名稱同時經由上述三種方式設定之後,在『使用者變數』所設定的變數值,會蓋過在『系統變數』或『Autoexec.bat'所設定的值;而在『系統變數』所設定的值,會蓋過在『Autoexec.bat'所設定的值。

Windows系統內建的常見環境變數

%SystemDrive%:系統磁碟機,預設是C:
%SystemRoot%:系統根目錄,預設是C:\WINNT或C:\WINDOWS
%SystemDirectory%:系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32
%WinDir%:Windows目錄,預設是C:\WINNT或C:\WINDOWS
%ProgramFiles%:應用程式目錄,預設是C:\Program Files
%Temp%、%Tmp%:暫存檔目錄 %HomeDrive%:使用者目錄的磁碟機
%HomePath%:使用者家目錄

(以上環境變數可以『檔案總管』試之,或在DOS視窗以echo指令顯示其值;以下的環境變數隻能以DOS視窗以echo指令顯示其值)

%OS%:作業系統名稱,其值固定為Windows_NT
%UserDomain%:包含使用者帳號的網域名稱,或者電腦名稱
%UserName%:使用者帳號名稱
簡單的應用

想快速切換到暫存檔目錄,然後刪除裡面的垃圾檔案嗎?(最好是在開機之初)以上述方式將%Temp%或%Tmp%輸入到『檔案總管』的『網址』列,即可切換到暫存檔目錄,接著就能刪除裡面的檔案了。

Windows環境變數列表
每部電腦的環境變數大致相同,但也可能會有若干差異,這是因為安裝的軟體或使用者可能自行設定了環境變數;在『命令提示字元』視窗利用set指令,就能列出完整的環境變數。

除了上篇文章提及了若干,以下再補述其他環境變數;這些環境變數可以『檔案總管』試之,或在DOS視窗以echo指令顯示其值:


%ALLUSERSPROFILE%:All Users設定檔的資料夾位置。
%APPDATA%:目前使用者的Application Data資料夾位置。
%CD%:目前的工作資料夾。
%CLIENTNAME%:目前使用者的NETBIOS電腦名稱。
%CMDCMDLINE%:處理目前命令提示字元視窗命令的cmd.exe的完整路徑。
%CMDEXTVERSION%:目前Command Processor Extensions的版本。
%CommonProgramFiles%:Common Files資料夾的路徑。
%COMPUTERNAME%:電腦名稱。
%COMSPEC%::命令提示字元視窗的解譯程式路徑,通常與%CMDCMDLINE%相同。
%DATE%:目前的系統日期。
%ERRORLEVEL%:最近執行過的命令的錯誤碼;非零的值表示發生過的錯誤碼。
%HomeDrive%:使用者目錄的磁碟機。
%HomePath%:使用者家目錄。
%HOMESHARE%:目前使用者共用資料夾的網路路徑。
%LOGONSEVER%:目前使用者所登入的網路控制器名稱。
%NUMBER_OF_PROCESSORS%:電腦的處理器數量。
%OS%:作業系統名稱,其值固定為Windows_NT。
%Path%:執行檔的搜尋路徑。
%PATHEXT%:作業系統是為執行檔的副檔名。
%PROCESSOR_ARCHITECTURE%:處理器的架構名稱,例如x86。
%PROCESSOR_IDENTFIER%:說明處理器的文字(不一定會有此環境變數)。
%PROCESSOR_LEVEL%:處理器的model number。
%PROCESSOR_REVISION%:處理器的revision number。
%ProgramFiles%:應用程式目錄,預設是C:\Program Files。
%PROMPT%:目前解譯程式的命令提示字串。
%RANDOM%:顯示0到32767之間的十進位整數亂數。
%SESSIONNAME%:連上終端伺服器的session names。
%SystemDrive%:系統磁碟機,預設是C:。
%SystemRoot%:系統根目錄,預設是C:\WINNT或C:\WINDOWS。
%SystemDirectory%:系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32。
%Temp%、%Tmp%:暫存檔目錄。
%TIME%:目前的系統時間。
%UserDomain%:包含使用者帳號的網域名稱,或者電腦名稱。
%UserName%:使用者帳號名稱。
%USERPROFILE%:目前使用者的設定檔路徑。
%WinDir%:Windows目錄,預設是C:\WINNT或C:\WINDOWS。

texhello 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • v
  • 這個必須收藏,實在感謝,一直要用到這些變量.