顯示、設(shè)置或刪除環(huán)境變量。如果沒有任何參數(shù),set 命令將顯示當(dāng)前環(huán)境設(shè)置。
set 命令具有不同的參數(shù),可從“故障恢復(fù)控制臺(tái)”中獲得。
字符 < > | & ^ 是特殊命令外殼字符,在 String 中使用時(shí)必須在其前面使用轉(zhuǎn)義符 (^) 或用引號(hào)引起來(即,"StringContaining&Symbol")。如果要使用引號(hào)將含有特殊字符的字符串引起來,則該引號(hào)將被設(shè)置成環(huán)境變量值的一部分。
使用環(huán)境變量可控制某些批處理文件和程序的行為,并可控制
當(dāng)只鍵入 set 命令時(shí),將顯示當(dāng)前的環(huán)境設(shè)置。這些設(shè)置通常包含用來幫助查找磁盤上程序的 COMSPEC 和 PATH 環(huán)境變量。
當(dāng)指定變量和字符串的值時(shí),指定的變量值將被添加到該環(huán)境,而且該字符串與該變量關(guān)聯(lián)。如果環(huán)境中已經(jīng)存在該變量,新的字符串值將替代舊的字符串值。
如果只為 set 命令指定一個(gè)變量和一個(gè)等號(hào)(沒有字符串),則與該變量關(guān)聯(lián)的字符串值將被清除(就像變量根本不存在一樣)。
下表按優(yōu)先性從高到低的順序列出了支持 /a 的運(yùn)算符。
運(yùn)算符 | 執(zhí)行的操作 |
---|---|
< > | 分組 |
* / % + - | 算法 |
<< >> | 邏輯移位 |
& | 按位“和”運(yùn)算 |
^ | 按位“異或”運(yùn)算 |
| | 按位“或”運(yùn)算 |
分配 | |
, | 表達(dá)式分隔符 |
如果使用邏輯 (&& ||) 或模塊 (%) 運(yùn)算符,請(qǐng)使用引號(hào)將表達(dá)式字符串引起來。表達(dá)式中的非數(shù)字字符串將被視為環(huán)境變量名,其值將轉(zhuǎn)化成數(shù)字然后才進(jìn)行處理。如果指定當(dāng)前環(huán)境中沒有定義的環(huán)境變量名,將會(huì)分配零值,允許您對(duì)環(huán)境變量進(jìn)行算術(shù)運(yùn)算,而不需要使用 % 找回值。
如果從命令腳本外的命令行中運(yùn)行 set /a,則會(huì)顯示該表達(dá)式的最終值。
數(shù)值是指十進(jìn)制的數(shù)字,前綴加 0× 則表示十六進(jìn)制數(shù)字,加 0 則表示八進(jìn)制數(shù)字。因此,0×12 與 18 相同,也與 022 相同。八進(jìn)制表示法容易引起混淆。例如,08 和 09 不是有效數(shù)字,因?yàn)?8 和 9 不是有效的八進(jìn)制數(shù)字。
要求有提示字符串。
已經(jīng)添加延遲的環(huán)境變量擴(kuò)展支持。默認(rèn)情況下禁用該支持,不過可使用 cmd /v 啟用或禁用它。
當(dāng)啟用命令擴(kuò)展(默認(rèn))并單獨(dú)運(yùn)行 set 時(shí),將顯示所有當(dāng)前的環(huán)境變量。如果使用一個(gè)值來運(yùn)行 set,則會(huì)顯示與該值匹配的變量。
創(chuàng)建批處理文件時(shí),可以使用 set 命令創(chuàng)建變量,然后像使用編號(hào)變量 %0 到 %9 一樣使用這些變量。也可以使用 %0 到 %9 變量作為 set 命令的輸入。
從批處理文件調(diào)用變量值時(shí),必須將該值用百分號(hào) (%) 括起來。例如,如果批處理程序創(chuàng)建了一個(gè)環(huán)境變量 BAUD,則可以在命令行中鍵入 %baud%,將與 BAUD 關(guān)聯(lián)的字符串作為可替換參數(shù)使用。
要設(shè)置名為 TEST^1 的環(huán)境變量,請(qǐng)鍵入:
set testVar=test^^1
要設(shè)置名為 TEST&1 的環(huán)境變量,請(qǐng)鍵入:
set testVar=test^&1
Set 將變量值設(shè)置成等號(hào) (=) 后的內(nèi)容。如果鍵入:
set testVar="test^1"
testVar="test^1"
要設(shè)置名為 INCLUDE 的環(huán)境變量,使字符串 C:\Inc(驅(qū)動(dòng)器 C 上的 \Inc 目錄)與該變量關(guān)聯(lián),請(qǐng)鍵入:
set include=c:\inc
然后可以通過用名稱百分號(hào) (%) 將 INCLUDE 括起,在批處理文件中使用字符串 C:\Inc。例如,可能在批處理文件中包含以下命令,以顯示與 INCLUDE 環(huán)境變量關(guān)聯(lián)的目錄內(nèi)容。
dir %include%
處理此命令時(shí),字符串 C:\Inc 將替代 %include%。
還可以在批處理程序中使用 set,將新目錄添加到 PATH 環(huán)境變量中。例如:
@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set
當(dāng)啟用命令表達(dá)式(默認(rèn))并使用一個(gè)值來運(yùn)行 set 時(shí),則會(huì)顯示與該值匹配的變量。例如,如果在命令提示符鍵入 set p,將得到如下結(jié)果:
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0801
ProgramFiles=C:\Program Files
PROMPT=$P$G