set (環境變數)
顯示、設定或移除 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> |
指定數值表達式。 |
/? | 在命令提示字元顯示說明。 |
備註
如果啟用命令延伸模組 (預設值),而且您以值執行 set,則會顯示以該值開頭的所有變數。
<
、>
、|
、&
和^
等字元為特殊的命令殼層字元,且在<string>
中使用這些字元時,必須在前方加上逸出字元 (^
) 或括在雙引號中 (例如:"StringContaining&Symbol")。 如果您使用引號來括住包含特殊字元的字串,則引號會被視為環境變數值的一部分。使用環境變數來控制某些批次檔和程式的行為,以及控制 Windows 和 MS-DOS 子系統出現及運作的方式。 set 命令通常用於 Autoexec.nt 檔案中,以設定環境變數。
如果您使用 set 命令而不使用任何參數,則會顯示目前的環境設定。 這些設定通常包括 COMSPEC 和 PATH 環境變數,用來協助在磁碟機上尋找程式。 Windows 所使用的另外兩個環境變數是 PROMPT 和 DIRCMD。
如果您為
<variable>
和<string>
指定值,則指定的<variable>
值會新增至環境,且<string>
與該變數相關聯。 如果變數已存在於環境中,新的字串值會取代舊的字串值。如果您只為 set 命令指定變數和等號 (不含
<string>
),則與變數相關聯的<string>
值會清除 (如同沒有變數)。如果您使用 /a 參數,則會依優先順序遞減順序支援下列運算子:
運算子 作業已執行 ( )
分組 ! ~ -
一元 * / %
算術 + -
算術 << >>
邏輯移位 &
位元 AND ^
位元排除 OR = *= /= %= += -= &= ^=
= <<= >>=
,
表達式分隔符號 如果您使用邏輯 (
&&
或||
) 或模數 (%) 運算子,請以引號括住表達式字串。 表達式中的任何非數值字串都會被視為環境變數名稱,且其值會在處理之前轉換成號碼。 如果您指定目前環境中未定義的環境變數名稱,則會分配零的值,這可讓您使用環境變數值執行算術,而不使用 % 來擷取值。如果您從命令指令碼外部的命令列執行 set /a,則會顯示表達式的最終值。
數值為十進位數,除非前面加上 0× 為十六進位數,或若為八進位數位則為 0。 因此,0×12 與 18 相同,與 022 相同。
預設會停用延遲的環境變數擴充支援,但您可以使用 cmd /v 來啟用或停用它。
建立批次檔時,您可以使用 set 來建立變數,然後使用它們的方式與使用編號變數 %0 到 %9 相同。 您也可以使用變數 %0 到 %9 做為 set 輸入。
如果您從批次檔呼叫變數值,請使用百分比符號 (%) 括住值。 例如,如果您的批次程式建立名為 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
若要顯示目前裝置上所有環境變數的清單,請輸入:
set