共用方式為


set (環境變數)

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

Note

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

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

Syntax

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

Parameters

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

Remarks

  • 如果已啟用指令延伸 (預設值) ,且您執行 set with a value ,則會顯示以該值開頭的所有變數。

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

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

  • 如果您在不使用任何參數的情況下使用 set 指令,則會顯示目前的環境設定。 這些設定通常包括 COMSPECPATH 環境變量,用於幫助尋找磁碟上的程式。 Windows 使用的另外兩個環境變數是 PROMPTDIRCMD

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

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

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

    Operator Operation performed
    ( ) Grouping
    ! ~ - Unary
    * / % Arithmetic
    + - Arithmetic
    << >> Logical shift
    & Bitwise AND
    ^ 位元異或
    = *= /= %= += -= &= ^= = <<= >>=
    , Expression separator
  • 如果您使用邏輯 (&& 或) 或 ||模數 (%) 運算符,請以引號括住表達式字串。 表達式中的任何非數值字串都會被視為環境變數名稱,且其值會在處理之前轉換成數位。 如果您指定目前環境中未定義的環境變數名稱,則會分配零的值,這可讓您使用環境變數值執行算術,而不需使用 % 來擷取值。

  • 如果您從命令指令碼外部的指令行執行 set /a ,它會顯示運算式的最終值。

  • 數值是十進位數,除非十六進位數以 0x 為前綴,八進制數以 0 為前綴。 因此,0x12與18相同,與022相同。

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

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

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

Examples

若要為名為 的環境變數設定值 testVar ,鍵入:

set testVar=TEST^^1

set 指令會將等號 (=) 後面的所有內容指派給變數的值。 因此,如果您輸入 set testVar=TEST^1,將會收到下列結果: testVar=TEST1

若要設定環境變數的值 testVar ,請輸入:

set testVar=TEST^&1

若要設定名為 include 的環境變數,以便字串 c:\directory 與其相關聯,請鍵入:

set include=c:\directory

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

若要在批次程式中使用 set 指令,將新目錄新增至 路徑 環境變數,請鍵入:

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

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

set p

若要顯示目前裝置上所有環境變數的清單,請輸入:

set