Windows 環境變量完全指南:系統變量、用戶變量與 PATH 詳解

1. 什么是環境變量?

環境變量(Environment Variables)是 Windows 系統中用于存儲配置信息的鍵值對,它們可以影響系統和應用程序的行為。例如:

  • PATH:告訴系統在哪里查找可執行文件(如?pythonjava)。

  • TEMP:存儲臨時文件的路徑。

  • JAVA_HOME:指定 Java 安裝目錄,供開發工具使用。

環境變量分為:

  • 系統變量:影響所有用戶。

  • 用戶變量:僅影響當前用戶。

  • PATH?變量:決定系統如何查找命令。


2. 系統變量 vs. 用戶變量

(1)系統變量(System Variables)

  • 作用范圍:所有用戶(全局生效)。

  • 存儲位置:Windows 注冊表(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)。

  • 典型用途

    • 定義全局軟件路徑(如?JAVA_HOMEANDROID_HOME)。

    • 配置系統級代理(如?HTTP_PROXY)。

    • 設置公共臨時目錄(如?TEMP)。

如何查看/修改?

  1. 方法 1(GUI)

    • Win + R?→ 輸入?sysdm.cpl?→ 切換到?"高級"?選項卡 → 點擊?"環境變量"

    • 在?"系統變量"?區域進行修改。

  2. 方法 2(命令行)

:: 查看所有系統變量
set
:: 查看特定變量(如 TEMP)
echo %TEMP%

示例

  • 添加?JAVA_HOME(假設 Java 安裝在?C:\Java\jdk-17):

    • 變量名:JAVA_HOME

    • 變量值:C:\Java\jdk-17


(2)用戶變量(User Variables)

  • 作用范圍:僅當前用戶(不影響其他用戶)。

  • 存儲位置:注冊表(HKEY_CURRENT_USER\Environment)。

  • 典型用途

    • 自定義開發環境(如?PYTHONPATH)。

    • 設置個人偏好(如?EDITOR=notepad)。

    • 臨時測試變量(如?MY_TEST_VAR="hello")。

如何查看/修改?

  1. 方法 1(GUI)

    • Win + R?→ 輸入?sysdm.cpl?→ 切換到?"高級"?選項卡 → 點擊?"環境變量"

    • 在?"用戶變量"?區域進行修改。

  2. 方法 2(命令行)

:: 查看當前用戶變量
set
:: 設置臨時變量(僅當前會話有效)
set MY_VAR=test

示例

  • 添加?PYTHONPATH(假設 Python 腳本在?C:\MyPythonScripts):

    • 變量名:PYTHONPATH

    • 變量值:C:\MyPythonScripts


3. PATH 變量詳解

(1)PATH 的作用

PATH?是一個特殊的環境變量,用于指定系統在哪些目錄中查找可執行文件(.exe.bat?等)。
例如:

  • 如果?python.exe?的路徑?C:\Python39?在?PATH?中,你可以直接在 CMD 輸入?python?運行它。

  • 如果沒有?PATH,你必須輸入完整路徑:C:\Python39\python.exe

(2)Windows 中的 PATH

  • 系統?PATH:影響所有用戶(存儲在系統變量中)。

  • 用戶?PATH:僅影響當前用戶(存儲在用戶變量中)。

  • 優先級:用戶?PATH?> 系統?PATH(如果沖突,優先使用用戶變量)。

(3)如何修改 PATH?

方法 1(GUI)

  1. Win + R?→?sysdm.cpl?→?"環境變量"

  2. 在?"系統變量"?或?"用戶變量"?中找到?PATH

  3. 點擊?"編輯"?→?"新建"?→ 添加路徑(如?C:\Python39)。

方法 2(命令行)

:: 查看當前 PATH
echo %PATH%:: 臨時添加 PATH(僅當前會話有效)
set PATH=%PATH%;C:\MyTools:: 永久修改 PATH(需管理員權限)
setx /M PATH "%PATH%;C:\MyTools"  :: 系統 PATH
setx PATH "%PATH%;C:\MyTools"     :: 用戶 PATH

示例

  • 將?Python?和?Git?添加到?PATH

    • Python:C:\Python39

    • Git:C:\Program Files\Git\bin

    • 修改后?PATH

C:\Windows\system32;C:\Python39;C:\Program Files\Git\bin

4. 總結

變量類型作用范圍存儲位置典型用途
系統變量所有用戶HKLM\...\Environment全局配置(JAVA_HOMEANDROID_HOME
用戶變量當前用戶HKCU\Environment個人配置(PYTHONPATH、臨時變量)
PATH影響命令查找系統/用戶變量讓系統識別?pythongit?等命令

最佳實踐

  • 公共軟件路徑(如 Java、Python)建議放在?系統?PATH

  • 個人開發工具(如自定義腳本)可以放在?用戶?PATH

  • 避免?PATH?過長(Windows 有 2048 字符限制)。

現在你已經掌握了 Windows 環境變量的核心知識,快去配置你的開發環境吧!🚀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78971.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78971.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78971.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

詳解RabbitMQ工作模式之工作隊列模式

目錄 工作隊列模式 概念 特點 應用場景 工作原理 注意事項 代碼案例 引入依賴 常量類 編寫生產者代碼 編寫消費者1代碼 編寫消費者2代碼 先運行生產者,后運行消費者 先運行消費者,后運行生產者 工作隊列模式 概念 在工作隊列模式中&#x…

數據結構-非線性結構-二叉樹

概述 /** * 術語 * 根節點(root node):位于二叉樹頂層的節點,沒有父節點。 * 葉節點(leaf node):沒有子節點的節點,其兩個指針均指向 None 。 * 邊(edge)&…

芯片筆記 - 手冊參數注釋

芯片手冊參數注釋 基礎參數外圍設備USB OTG(On-The-Go)以太網存儲卡(SD)SDIO 3.0(Secure Digital Input/Output)GPIO(General Purpose Input/Output 通用輸入/輸出接口)ADC(Analog to Digital C…

力扣94. 二叉樹的中序遍歷

94. 二叉樹的中序遍歷 給定一個二叉樹的根節點 root ,返回 它的 中序 遍歷 。 示例 1: 輸入:root [1,null,2,3] 輸出:[1,3,2]示例 2: 輸入:root [] 輸出:[]示例 3: 輸入&#…

深度學習:AI為老年癡呆患者點亮希望之光

引言 隨著全球人口老齡化進程的加速,老年癡呆癥已成為嚴重威脅老年人健康和生活質量的公共衛生問題。據世界衛生組織統計,全球每 3 秒鐘就有 1 人被診斷為癡呆,預計到 2050 年,全球癡呆患者人數將從目前的約 5000 萬激增至 1.52 億…

拋物線法(二次插值法)

拋物線法簡介 拋物線法(Quadratic Interpolation Method)是一種用于一維單峰函數極值搜索的經典優化方法。該方法通過在區間內選取三個不同的點,擬合一條二次拋物線,并求取這條拋物線的極值點作為新的迭代點,從而逐步…

FreeRTOS如何檢測內存泄漏

在嵌入式系統中,內存資源通常非常有限,內存泄漏可能導致系統性能下降甚至崩潰。內存泄漏是指程序分配的內存未被正確釋放,逐漸耗盡可用內存。 FreeRTOS作為一種輕量級實時操作系統(RTOS),廣泛應用于資源受限…

Mockoon 使用教程

文章目錄 一、簡介二、模擬接口1、Get2、Post 一、簡介 1、Mockoon 可以快速模擬API,無需遠程部署,無需帳戶,免費,跨平臺且開源,適合離線環境。 2、支持get、post、put、delete等所有格式。 二、模擬接口 1、Get 左…

如何進行APP安全加固

進行APP安全加固的關鍵在于代碼混淆、加密敏感數據、權限管理、漏洞掃描與修復。其中,代碼混淆能有效阻止逆向工程與篡改攻擊,提升應用的安全防護能力。通過混淆代碼,攻擊者難以輕易理解源代碼邏輯,從而降低被破解或攻擊的風險。 …

【C++】手搓一個STL風格的string容器

C string類的解析式高效實現 GitHub地址 有夢想的電信狗 1. 引言:字符串處理的復雜性 ? 在C標準庫中,string類作為最常用的容器之一,其內部實現復雜度遠超表面認知。本文將通過一個簡易仿照STL的string類的完整實現,揭示其設…

辰鰻科技朱越洋:緊扣時代契機,全力投身能源轉型戰略賽道

國家能源局于4月28日出臺的《關于促進能源領域民營經濟發展若干舉措的通知》(以下簡稱《通知》),是繼2月民營企業座談會后深化能源領域市場化改革的關鍵政策,標志著民營經濟在“雙碳”目標引領下正式進入能源轉型的核心賽道。 自…

Vue實現不同網站之間的Cookie共享功能

前言 最近有小伙伴在聊天室中提到這么一個需求,就是說希望用戶在博客首頁中登錄了之后,可以跳轉到管理系統去發布文章。這個需求的話就涉及到了不同網站之間cookie共享的功能,那么咱們就來試著解決一下這個功能。 實現方式 1. 后端做中轉 …

在一臺服務器上通過 Nginx 配置實現不同子域名訪問靜態文件和后端服務

一、域名解析配置 要實現通過不同子域名訪問靜態文件和后端服務,首先需要進行域名解析。在域名注冊商或 DNS 服務商處,為你的兩個子域名 blog.xxx.com 和 api.xxx.com 配置 A 記錄或 CNAME 記錄。將它們的 A 記錄都指向你服務器的 IP 地址。例如&#x…

Opencv進階操作:圖像拼接

文章目錄 前言一、圖像拼接的原理1. 特征提取與匹配2. 圖像配準3. 圖像變換與投影4. 圖像融合5. 優化與后處理 二、圖像拼接的簡單實現(案例實現)1.引入庫2.定義cv_show()函數3.創建特征檢測函數detectAndDescribe()4.讀取拼接圖片5.計算圖片特征點及描述…

LLM 論文精讀(三)Demystifying Long Chain-of-Thought Reasoning in LLMs

這是一篇2025年發表在arxiv中的LLM領域論文,主要描述了長思維鏈 Long Chain-of-Thought 對LLM的影響,以及其可能的生成機制。通過大量的消融實驗證明了以下幾點: 與shot CoT 相比,long CoT 的 SFT 可以擴展到更高的性能上限&…

計算機網絡常識:緩存、長短連接 網絡初探、URL、客戶端與服務端、域名操作 tcp 三次握手 四次揮手

緩存: 緩存是對cpu,內存的一個節約:節約的是網絡帶寬資源 節約服務器的性能 資源的每次下載和請求都會造成服務器的一個壓力 減少網絡對資源拉取的延遲 這個就是瀏覽器緩存的一個好處 表示這個html頁面的返回是不要緩存的 忽略緩存 需要每次…

《構建社交應用用戶激勵引擎:React Native與Flutter實戰解析》

React Native憑借其與JavaScript和React的緊密聯系,為開發者提供了一個熟悉且靈活的開發環境。在構建用戶等級體系時,它能夠充分利用現有的前端開發知識和工具。通過將用戶在社交應用中的各種行為進行量化,比如發布動態的數量、點贊評論的次數…

接口自動化測試框架詳解(pytest+allure+aiohttp+ 用例自動生成)

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 近期準備優先做接口測試的覆蓋,為此需要開發一個測試框架,經過思考,這次依然想做點兒不一樣的東西。 接口測試是比較講究效…

Linux-----文件系統

文件大家都知道,前面的我的博客課程也為大家解釋了關于文件的打開等,今天我們要談論的是 文件在沒被打開的時候在磁盤中的位置和找到它的方式。 畫圖為大家展示: 方便理解 我們從下面幾個方面入手: 1. 看看物理磁盤 2. 了解一…

C++ set替換vector進行優化

文章目錄 demo代碼解釋&#xff1a; 底層原理1. 二叉搜索樹基礎2. 紅黑樹的特性3. std::set 基于紅黑樹的實現優勢4. 插入操作5. 刪除操作6. 查找操作 demo #include <iostream> #include <set>int main() {// 創建一個存儲整數的std::setstd::set<int> myS…