set (variable de entorno)

Muestra, establece o elimina variables de entorno de cmd.exe. Si se usa sin parámetros, set muestra la configuración actual de la variable de entorno.

Nota:

Este comando requiere extensiones de comando, que están habilitadas de forma predeterminada.

El comando set también se puede ejecutar desde la Consola de recuperación de Windows mediante parámetros diferentes. Para obtener más información, consulte Entorno de recuperación de Windows (WinRE).

Sintaxis

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

Parámetros

Parámetro Descripción
<variable> Especifica la variable de entorno que se va a establecer o modificar.
<string> Especifica la cadena que se va a asociar a la variable de entorno especificada.
/p Establece el valor de <variable> en una línea de entrada especificada por el usuario.
<promptstring> Especifica un mensaje para solicitar al usuario la entrada. Este parámetro debe utilizarse con el parámetro /p.
/a Establece <string> en una expresión numérica que se evalúa.
<expression> Especifica una expresión numérica.
/? Muestra la ayuda en el símbolo del sistema.

Comentarios

  • Si las extensiones de comandos están habilitadas (el valor predeterminado) y se ejecuta set con un valor, se muestran todas las variables que comienzan con ese valor.

  • Los caracteres <, >, |, & y ^ son caracteres especiales del shell de comandos y deben ir precedidos del carácter de escape (^) o entre comillas cuando se usan en <string> (por ejemplo, “StringContainingSymbol”). Si usa comillas para incluir una cadena que contenga uno de los caracteres especiales, las comillas se establecerán como parte del valor de la variable de entorno.

  • Use variables de entorno para controlar el comportamiento de algunos archivos por lotes y programas y para controlar la apariencia y el funcionamiento de Windows y del subsistema MS-DOS. El comando set se usa a menudo en el archivo Autoexec.nt para establecer variables de entorno.

  • Si usa el comando set sin parámetros, se mostrará la configuración actual del entorno. Estas opciones de configuración suelen incluir las variables de entorno COMSPEC y PATH, que se usan para ayudar a buscar programas en el disco. Otras dos variables de entorno usadas por Windows son PROMPT y DIRCMD.

  • Si especifica valores para <variable> y <string>, el valor <variable> especificado se agrega al entorno y <string> se asocia a esa variable. Si la variable ya existe en el entorno, el nuevo valor de cadena reemplaza el valor de cadena anterior.

  • Si especifica solo una variable y un signo igual (sin <string>) para el comando set, el valor <string> asociado a la variable se borra (como si la variable no existiera).

  • Si usa el parámetro /a, se admiten los operadores siguientes, en orden descendente de precedencia:

    Operador Operación realizada
    ( ) Agrupar
    ! ~ - Unario
    * / % Aritméticos
    + - Aritméticos
    << >> Desplazamiento lógico
    & AND bit a bit
    ^ OR exclusivo bit a bit
    = *= /= %= += -= &= ^= = <<= >>=
    , Separador de expresiones
  • Si usa operadores lógicos (&& o ||) o de módulo (%), coloque la cadena de expresión entre comillas. Las cadenas no numéricas de la expresión se consideran nombres de variables de entorno y sus valores se convierten en números antes de que se procesen. Si especifica un nombre de variable de entorno que no está definido en el entorno actual, se asigna un valor de cero, lo que permite realizar una aritmética con valores de variable de entorno sin usar el % para recuperar un valor.

  • Si ejecuta set /a desde la línea de comandos fuera de un script de comandos, muestra el valor final de la expresión.

  • Los valores numéricos son números decimales a menos que lleven el prefijo 0× para números hexadecimales o 0 para números octales. Por lo tanto, 0×12 es igual que 18, que es igual que 022.

  • La compatibilidad con la expansión de variables de entorno retrasadas está deshabilitada de forma predeterminada, pero puede habilitarla o deshabilitarla mediante cmd /v.

  • Al crear archivos por lotes, puede usar set para crear variables y, a continuación, usarlos de la misma manera que usaría las variables numeradas %0 a %9. También puede usar las variables %0 a %9 como entrada para set.

  • Si llama a un valor de variable de un archivo por lotes, incluya el valor con signos de porcentaje (%). Por ejemplo, si el programa por lotes crea una variable de entorno denominada BAUD, puede usar la cadena asociada a BAUD como parámetro reemplazable escribiendo %baud% en el símbolo del sistema.

Ejemplos

Para establecer el valor TEST^1 para la variable de entorno denominada testVar, escriba:

set testVar=TEST^^1

El comando set asigna todo lo que sigue al signo igual (=) al valor de la variable. Por lo tanto, si escribe set testVar=TEST^1, obtendrá el siguiente resultado, testVar=TEST1.

Para establecer el valor TEST&1 para la variable de entorno testVar, escriba:

set testVar=TEST^&1

Para establecer una variable de entorno llamada include de modo que se le asocie la cadena c:\directory, escriba:

set include=c:\directory

Después, puede usar la cadena c:\directory en los archivos por lotes si incluye el nombre include con signos de porcentaje (%). Por ejemplo, puede usar dir %include% en un archivo por lotes para mostrar el contenido del directorio asociado a la variable de entorno include. Una vez procesado este comando, la cadena c:\directory sustituye a %include%}.

El uso del comando set en un programa por lotes para agregar un nuevo directorio a la variable de entorno path, escriba:

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

Para mostrar una lista de todas las variables de entorno que comienzan por la letra p, escriba:

set p

Para mostrar una lista de todas las variables de entorno en el dispositivo actual, escriba:

set