显示、设置或删除 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 ,则它会显示以该值开头的所有变量。
字符
<、>、|&和^都是特殊命令 shell 字符,并且它们必须前面有转义字符()或用引号^括起来(<string>例如,“StringContaining&Symbol”)。 如果使用引号将包含某个特殊字符的字符串引起来,则引号将设置为环境变量值的一部分。使用环境变量来控制某些批处理文件和程序的行为,并控制 Windows 和 MS-DOS 子系统的显示和工作方式。 set 命令通常用于 Autoexec.nt 文件中来设置环境变量。
如果使用不带任何参数的 set 命令,则显示当前环境设置。 这些设置通常包括 COMSPEC 和 PATH 环境变量,它们用于帮助查找磁盘上的程序。 Windows 使用的另外两个环境变量是 PROMPT 和 DIRCMD。
如果为该变量指定值
<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,方法是用百分号 () 将名称 % 括起来。 例如,可以在 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