如何使用 Windows CMD 環境變量

已發表: 2022-06-28

Windows 10 和 11 徽標

使用命令提示符 (CMD) 添加或修改環境變量很容易,但刪除環境變量要復雜得多。 這裡有幾種不同的方法可以做到這一點。

目錄

如何添加或修改環境變量
臨時設置環境變量
永久設置環境變量
如何刪除環境變量
臨時刪除環境變量
永久刪除環境變量

如何添加或修改環境變量

首先,您需要以管理員身份啟動命令提示符或 CMD。 單擊開始,在搜索框中鍵入“cmd”,然後單擊“以管理員身份運行”。

注意:可以在常規命令提示符窗口中設置或修改任何用戶環境變量,但更改系統範圍的環境變量需要提升的命令提示符。

設置環境變量有兩種不同的方法。

臨時設置環境變量

第一個使用 set 命令。 Set 僅在定義它的進程中定義環境變量——換句話說,該變量僅在您打開的窗口或包含它的腳本中有效。

下面是一個示例:假設您要創建一個名為 LifeAnswerVar 的環境變量並將值設置為 42。命令將set LifeAnswerVar=42

當該窗口打開時,LifeAnswerVar 的值為 42。

設置 lifevar=42 的命令提示符

當它關閉時,環境變量及其值將被刪除。

未定義 LifeAnswerVar 的新 CMD 窗口。

如果您想臨時修改現有的 Windows 系統變量,完全相同的方法也適用。 您需要做的就是用您要更改的系統變量代替 LifeAnswerVar,並用您要分配的值代替 42。

例如,如果您想將 TMP 文件夾移動到 C:\Example Folder,您需要輸入命令set TMP=C:\"Example Folder"

TMP 文件夾移至示例文件夾

第一行set TMP顯示了 TMP 的當前值。 第二行為 TMP 分配了一個新值。 第三行確認它已經改變。

永久設置環境變量

第二種方式使用 setx。 Setx 永久定義 Windows 環境變量。 它們在窗口之間和重新啟動之間持續存在,並被寫入 Windows 註冊表。 這些環境變量可以為特定用戶定義,也可以為系統範圍的使用定義。

命令setx ExVar1 Tomato /m將創建一個名為 ExVar1 的新環境變量並將值“Tomato”分配給它。 /m 參數指定新變量應該是系統範圍的,而不僅僅是當前用戶。

命令提示符中定義的 ExVar1

使用完全相同的命令修改現有環境變量,將 ExVar1 替換為您要更改的變量的名稱。

注意:如果您使用 setx 修改變量並設置查看變量的值,set 將不會顯示正確的值,直到打開一個新的命令提示符窗口。

如果要添加或修改用戶環境變量,只需從命令中省略 /m 參數。

如何刪除環境變量

刪除環境變量比添加或修改環境變量要困難一些。

注意:與添加變量一樣,可以在常規命令提示符窗口中刪除任何用戶環境變量,但刪除系統範圍的環境變量需要提升的命令提示符。

臨時刪除環境變量

如果要臨時刪除當前進程的環境變量,例如腳本、PowerShell 窗口或命令提示符窗口,可以使用 set 命令。 您需要做的就是不為變量賦值。

例如,如果您在系統範圍的環境變量中有變量定義ExVar1=Tomato ,但想在某個特定進程中忽略它,該怎麼辦? 您可以在命令提示符中鍵入set ExVar1=或在腳本中包含該行。 在腳本執行或打開新的命令提示符窗口之前,該變量將設置為空。

ExVar1 暫時設為空白。

永久刪除環境變量

永久刪除環境變量有點複雜——你必須使用reg來完成。

警告: Reg 是註冊表編輯器的命令行版本。 你應該謹慎行事——一個錯字可能會導致你不小心刪除了一些重要的東西。 備份您正在編輯的註冊表部分也沒有什麼壞處。

各個用戶的環境變量存儲在HKEY_CURRENT_USER\Environment中。 系統範圍的環境變量存儲在其他地方,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment中。

讓我們使用ExVar1=Tomato示例。 ExVar1 環境變量是在系統範圍內定義的,這意味著它位於 HKEY_LOCAL_MACHINE 目錄而不是 HKEY_CURRENT_USER 目錄中。 具體來說,子鍵的路徑是:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ExVar1

注意:此路徑包含一個空格。 任何時候在命令行界面中輸入的路徑中有空格,必須在路徑兩邊加上引號,否則極有可能無法正確執行。

現在我們需要使用reg delete命令來刪除它。 請記住,您需要在下面的命令中將變量名替換為 ExVar1。

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\" /f /v ExVar1

那裡有很多,所以讓我們分解一下。

  • reg delete — 定義我們正在使用的應用程序 (reg) 和命令 (delete)
  • "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\" — 告訴 reg delete 在哪裡查找密鑰
  • /f - 告訴 reg delete 刪除密鑰而不提示確認
  • /v - 告訴 reg delete 它將被賦予一個特定的子鍵來刪除
  • ExVar1 — 我們要刪除的子項的名稱

刪除單個用戶的環境變量與刪除系統範圍的變量完全相同,只是路徑不同。 如果 ExVar1 是用戶環境變量,刪除它的命令是:

reg delete HKEY_CURRENT_USER\Environment /f /v ExVar1

如果刪除環境變量的命令成功,您應該在命令提示符中看到“操作成功完成”。

Reg delete 用於從用戶環境變量中刪除 ExVar1

任何時候刪除這樣的環境變量,都需要重新啟動 explorer.exe。 您可以手動重新啟動 Explorer.exe,也可以只重新啟動整個計算機。 兩者都可以,並且更改應在重新啟動後立即生效。