設定環境變數 ()

顯示、設定或移除cmd.exe環境變數。 如果未使用參數, 則 set 會顯示目前的環境變數設定。

注意

此命令需要預設啟用的命令延伸模組。

set命令也可以使用不同的參數,從 Windows 復原主控台執行。 如需詳細資訊,請參閱 Windows 復原環境 (WinRE)

語法

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

參數

參數 描述
<variable> 指定要設定或修改的環境變數。
<string> 指定要與指定之環境變數相關聯的字串。
/p 將 的值 <variable> 設定為使用者輸入的一行輸入。
<promptstring> 指定要提示使用者輸入的訊息。 此參數必須搭配 /p 參數使用。
/a 設定 <string> 為評估的數值運算式。
<expression> 指定數值運算式。
/? 在命令提示字元顯示說明。

備註

  • 如果啟用命令延伸模組 (預設) ,而且您以值 執行設定 ,則會顯示以該值開頭的所有變數。

  • 字元 、、、 和 是特殊的命令殼層字元,而且必須在逸出字元前面加上逸出字元 (^) 或括在引號 (中 <string> ,例如「StringContaining & Symbol」) 。 ^&|>< 如果您使用引號來括住包含特殊字元的字串,則引號會被視為環境變數值的一部分。

  • 使用環境變數來控制某些批次檔和程式的行為,以及控制 Windows 和 MS-DOS 子系統出現及運作的方式。 set命令通常用於Autoexec.nt檔案中,以設定環境變數。

  • 如果您使用 set 命令而不使用任何參數,則會顯示目前的環境設定。 這些設定通常包括 COMSPECPATH 環境變數,用來協助在磁片上尋找程式。 Windows 使用的兩個其他環境變數是 PROMPTDIRCMD

  • 如果您為 和 <string> 指定值 <variable> ,則會將指定的 <variable> 值新增至環境,並與 <string> 該變數相關聯。 如果變數已存在於環境中,新的字串值會取代舊的字串值。

  • 如果您只針對set命令指定變數和等號 (而不 <string>) ,則 <string> 與變數相關聯的值會 (清除,就像變數不存在) 一樣。

  • 如果您使用 /a 參數,則會以優先順序遞減順序支援下列運算子:

    運算子 已執行的作業
    ( ) 分組
    ! ~ - 一元
    * / % 算術
    + - 算術
    << >> 邏輯移位
    & 位元 AND
    ^ 位元排除 OR
    = *= /= %= += -= &= ^= = <<= >>=
    , 運算式分隔符號
  • 如果您使用邏輯 (&& 或) 或 || 模數 % () 運算子,請將運算式字串括在引號中。 運算式中的任何非數值字串都會被視為環境變數名稱,而且其值會在處理之前轉換成數位。 如果您指定目前環境中未定義的環境變數名稱,則會配置零的值,這可讓您以環境變數值執行算術,而不需使用 % 來擷取值。

  • 如果您從命令腳本外部的命令列執行 set /a ,則會顯示運算式的最終值。

  • 數值為十進位數,除非前面加上 0×十六進位數位,否則為 0。 因此,0×12 與 18 相同,這與 022 相同。

  • 預設會停用延遲的環境變數擴充支援,但您可以使用 cmd /v來啟用或停用它。

  • 建立批次檔時,您可以使用 set 來建立變數,然後使用它們的方式與使用編號變數 %0%9的方式相同。 您也可以使用變數 %0%9 作為 設定的輸入。

  • 如果您從批次檔呼叫變數值,請以百分比符號括住值, % () 。 例如,如果您的批次程式建立名為BAUD的環境變數,您可以在命令提示字元中輸入%baud% ,以使用與BAUD相關聯的字串作為可取代的參數。

範例

若要為名為 testVar 的環境變數設定TEST^1值,請輸入:

set testVar=test^^1

set命令會將等號 (=) 的所有專案指派給變數的值。 因此,如果您輸入 set testVar=test^1 ,就會得到下列結果: testVar=test1

若要為環境變數 testVar 設定TEST & 1值,請輸入:

set testVar=test^&1

若要設定名為 INCLUDE 的環境變數,讓 字串 c:\directory 與其相關聯,請輸入:

set include=c:\directory

接著,您可以在批次檔中使用字串 c:\directory ,方法是將名稱 INCLUDE 括住 () % 百分比符號。 例如,您可以在批次檔中使用 dir %include% 來顯示與 INCLUDE 環境變數相關聯的目錄內容。 處理此命令之後,字串 c:\directory 會取代 %include%

若要在批次程式中使用 set 命令,將新目錄新增至 PATH 環境變數,請輸入:

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

若要顯示以 字母 P開頭的所有環境變數清單,請輸入:

set p