環境變數介紹,以 Windows 10 為例
本篇文章以 Windows 的工作管理員和命令提示字元,介紹 Windows 環境變數。
- 程序 (Process)
- 環境變數
- PATH 環境變數
程序 (Process)
- 程序是指程式載入記憶體之後被稱為程序,例如 Windows 的 cmd.exe 載入記憶體
- 在 Windows 中,工作管理員可以看到目前正在執行的程序,和更多細節。
- 程序識別碼 (Process Identifier, PID)、CPU、記憶體使用量等。
圖1 命令提示字元和程序 |
環境變數
環境變數可以分為兩個部分解釋,環境和變數。
- 環境是指作業系統,Windows 是目前的環境,環境下的程序可以讀取環境變數。
- 變數視為是一個容器,可以裝入符合的內容,環境變數內容是文字,所以環境變數是可以裝各種文字的變數。
Windows 的環境變數
- 一個環境變數包含變數和值
- 變數: 環境變數的名稱
- 值: 環境變數的實際數值
圖2 Windows 環境變數 |
- 任何運作於作業系統的程序都可以讀取環境變數
- 以 cmd.exe 為例讀取環境變數
ECHO %OS%
: 使用ECHO
指令將OS
這個環境變數的數值,顯示在命令提示字元介面上ECHO %USERPORFILE%
: 當前使用者的路徑ECHO %SYSTEMROOT%
: Windows 系統文件夾位置
圖3 命令提示字元讀取環境變數 |
PATH 環境變數
- 系統在讀取命令時,會先讀取當前路徑,若當前路徑找不到,會去 PATH 環境變數裡的每個目錄底下搜尋命令
- PATH 環境變數是從指定目錄搜尋命令 (參考: PATH environment variable - IBM)
- PATH 環境變數是指定搜尋可執行檔 (.exe) 的目錄集合 (參考: path | Microsoft Learn)
不使用 PATH 環境變數執行命令
我們有兩種方式下達命令
- 讓命令提示字元到程式所在目錄,例如:
cd C:\Windows\system32 & cmd.exe
- 輸入程式完整路徑,例如:
C:\Windows\system32\cmd.exe
若不滿足上述其中一種,命令不知道該怎麼執行,會發生 'xxxxx' 不是內部或外部命令、可執行的程式或批次檔。
總結
- 環境變數可以是各種文字
- 程序可以讀取環境變數
- 在執行命令時,PATH 環境變數裡的每個目錄都會被搜尋
參考資料
path | Microsoft Learn
PATH environment variable - IBM
Program/Process/Thread 差異
Wiki-環境變數
環境變數 (Environment Variable)
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.