El comando: "SET" está activado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Los ejemplos del comando "SET"
El
`SET`El comando en el símbolo del sistema de Windows se utiliza para crear, ver o modificar variables de entorno. A continuación se muestran algunos ejemplos del uso de
`SET`-Dominio:
Ejemplo 1: crear una nueva variable de entorno:
SET NUEVO_VARIABLE=Contenido
Descripción: Este comando crea una nueva variable de entorno llamada
`NUEVO_VARIABLE`y el valor
`Contenido`.
Ejemplo 2: mostrar una variable de entorno existente:
SET EXISTENTE_VARIABLE
Descripción: Este comando muestra el valor de la variable de entorno
`EXISTENTE_VARIABLE`en.
Ejemplo 3: Mostrar todas las variables de entorno:
SET
Descripción: Al ingresar
`SET`sin una variable específica, se muestran todas las variables de entorno y sus valores.
Ejemplo 4: Eliminar variable:
SET NUEVO_VARIABLE=
Descripción: Este es el valor de la variable de entorno.
`NUEVO_VARIABLE`eliminado.
Ejemplo 5: uso de una variable en un archivo por lotes:
ECHO %NUEVO_VARIABLE%
Descripción: Este comando devuelve el valor de la variable de entorno
`NUEVO_VARIABLE`fuera de. En archivos por lotes la sintaxis
`%Variable%`Se utiliza para acceder al valor de una variable de entorno.
Ejemplo 6: guardar la entrada del usuario en una variable:
SET /P ENTRADA DE USUARIO=Introduce algo:
Descripción: Este comando solicita al usuario que ingrese algo y almacena la entrada en la variable de entorno
`ENTRADA DE USUARIO`.
Hay muchas opciones y características avanzadas del
`SET`comando, incluidas modificaciones de cadenas, uso de variables de entorno en scripts por lotes y más. Acerca de entrar
`SET /?`en el símbolo del sistema obtendrá una lista de opciones disponibles e información más detallada.
"SET" Extracto de la ayuda de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Muestra, establece o quita las variables de entorno de cmd.exe.
SET [variable=[cadena]]
variable Especifica el nombre de la variable de entorno.
cadena Especifica una serie de caracteres que se asignará a
la variable.
Escriba SET sin parámetros para ver las variables de entorno
actuales.
Si las extensiones de comando están habilitadas, SET cambia así:
"Cuando se llama al comando SET solamente con un nombre de
variable, sin signo
de igual ni valor, se mostrarán los valores de todas las
variables cuyos
prefijos coincidan con el nombre especificado como parámetro para
el comando
SET. Por ejemplo:
SET P
mostrará todas las variables que empiecen con la letra 'P'
El comando SET establecerá ERRORLEVEL en 1 si no se encuentra el
nombre de la variable en el entorno actual.
El comando SET no permitirá que un signo de igual sea parte de
una variable.
Se han agregado dos modificadores nuevos al comando SET:
SET /A expression
SET /P variable=[promptString]
El modificador /A especifica que la cadena a la derecha del signo
de igual
es una expresión numérica que es evaluada. El evaluador de
expresiones es
bastante simple y es compatible con las siguientes operaciones,
en orden de
precedencia decreciente:
() - agrupar
! ~ - - operadores unarios
* / % - operadores aritméticos
+ - - operadores aritméticos
<< >> - desplazamiento lógico
& - bit a bit y
^ - bit a bit exclusivo o
| - bit a bit
= *= /= %= += -= - asignación
&= ^= |= <<= >>=
, - separador de expresión
Si se utiliza cualquiera de los operadores lógicos o de módulo,
será
necesario escribir la cadena entre comillas. Cualquier cadena de
la expresión
que no sea numérica, se tratará como variable de entorno cuyo
valor se
convertirá a tipo numérico antes de utilizarse. Si se especifica
una variable
que no está definida en el entorno actual, se utilizará el valor
cero. Esto permite hacer operaciones aritméticas con los valores
de variables de entorno evitando el escribir todos estos signos %
para obtener sus valores. Si se
ejecuta el comando SET /A desde la línea del comando fuera de la
secuencia de
comandos, entonces se mostrará el valor final de la expresión. El
operador
de asignación requiere un nombre de variable de entorno a la
izquierda del operador de asignación. Los valores numéricos son
números decimales, a no ser
que lleven el prefijo 0x delante para los números hexadecimales,
y 0 para los números octales. De esta manera 0x12 es lo mismo que
18, y lo mismo que 022.
Nota: la notación octal puede ser confusa: 08 y 09 no son números
válidos
porque 8 y 9 no son dígitos octales válidos.
El modificador /P permite establecer el valor de una variable
para una línea
de entrada escrita por el usuario. Muestra la cadena del símbolo
del sistema
antes de leer la línea de entrada. La cadena del símbolo del
sistema puede
estar vacía.
La sustitución de variables de entorno ha sido mejorada así:
%PATH:str1=str2%
expandirá la variable de entorno PATH, sustituyendo cada
repetición de
"str1" en el resultado expandido con "str2". "str2" puede ser la
cadena
vacía para borrar efectivamente todas las repeticiones de "str1"
de la
salida expandida. "str1" puede empezar con un asterisco, en cuyo
caso,
coincidirá con lo contenido en la salida expandida desde su
inicio, hasta
la primera aparición del fragmento de str1 que queda.
También puede especificar subcadenas para una expansión.
%PATH:~10,5%
expandirá la variable de entorno PATH, y usará sólo los 5
caracteres
a partir del décimo primer carácter (desplazamiento 10) del
resultado
expandido. Si la longitud no se especifica, se utilizará el resto
del
valor de la variable. Si algún número (desplazamiento o longitud)
es
negativo, entonces el número usado es la longitud del valor de la
variable
de entorno añadido al desplazamiento o longitud especificados.
%PATH:~-10%
extraerá los 10 caracteres de la variable PATH.
%PATH:~0,-2%
extraerá todo menos los 2 últimos caracteres de la variable
PATH.
Finalmente, se ha añadido compatibilidad para la expansión de la
variable
retardada.
Este soporte está siempre deshabilitado de forma predeterminada,
pero puede
habilitarse o deshabilitarse a través del modificador de línea de
comandos
/V a CMD.EXE. Ver CMD /?
La expansión de la variable de entorno es útil para tratar con
las
limitaciones de la expansión actual, las cuales ocurren cuando
una línea de
texto es leída, y no cuando se ejecuta. El siguiente ejemplo
demuestra el
problema con la expansión de la variable inmediata:
set VAR=antes
if "%VAR%" == "antes" (
set VAR=después
if "%VAR%" == "después" @echo Si esto se puede ver,
entonces
significa que funcionó
)
dado que %VAR% se sustituye al mismo tiempo en ambas
instrucciones IF
cuando se lee la primera instrucción IF, pues incluye lógicamente
al cuerpo
del IF, el cual es una instrucción compuesta. De esta manera, IF,
dentro de
la instrucción compuesta está realmente comparando "antes" con
"después" lo cuál
nunca será igual. De un modo parecido, el siguiente ejemplo no
funcionará
como se espera:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
en esto NO generará una lista de archivos en el directorio
actual, pero en
su lugar establecerá la variable LIST en el último archivo
encontrado. De
nuevo, esto ocurre porque %LIST% es expandido sólo una vez cuando
la
opción FOR es leída, y en ese momento la variable LIST variable
está vacía.
Así el ciclo actual FOR que se está ejecutando es:
for %i in (*) do set LIST= %i
el cual sólo mantiene el valor LIST hasta el último archivo
encontrado.
La expansión de la variable de entorno retardada permite utilizar
un
carácter diferente (el signo de exclamación para expandir
variables en
tiempo de ejecución. Si la expansión de la variable retardada
está
habilitada, los ejemplos se pueden escribir de la siguiente
manera para
que funcionen como es necesario:
set VAR=antes
if "%VAR%" == "antes" (
set VAR=después
if "!VAR!" == "después" @echo Si esto se puede ver,
entonces
significa que funcionó
)
set LIST=
for %i en (*) do set LIST=!LIST! %i
echo %LIST%
Si las extensiones de comando están habilitadas, hay varias
variables
dinámicas de entorno que pueden ser expandidas pero que no se
muestran en la lista de variables que muestra ESTABLECER. Estos
valores de
variable se calculan dinámicamente cada vez que el valor de la
variable se expande.
Si el usuario define una variable explícitamente con uno de estos
nombres,
entonces esa definición suplantará la variable dinámica abajo
descrita:
%CD% - se expande a la cadena del directorio actual .
%DATE% - se expande a la fecha actual usando el mismo formato que
el
comando DATE.
%TIME% - se expande a la hora actual usando el mismo formato que
el
comando TIME.
%RANDOM% - se expande a un número decimal aleatorio entre 0 y
32767.
%ERRORLEVEL% - se expande al valor de NIVEL DE ERROR actual
%CMDEXTVERSION% - se expande al número actual de versión de las
extensiones del comando del procesador.
%CMDCMDLINE% - se expande a la línea de comando original que
invocó
el Procesador de comandos.
Información importante, consejos para el comando "SET"
Al usar el
`SET`comando en el símbolo del sistema de Windows, hay algunos aspectos importantes a tener en cuenta:
1.
Anulación de variables de entorno: Si tiene una variable de entorno con
`SET`Si crea una variable de entorno con el mismo nombre que una variable de entorno existente, se sobrescribirá la variable existente. Asegúrese de tener la intención de hacer esto para evitar efectos no deseados.
SET EXISTENTE_VARIABLE=Nuevo valor
2.
Espacios en valores: Al configurar valores con espacios en variables de entorno, es recomendable encerrar el valor entre comillas dobles. Esto ayuda a evitar problemas con la interpretación de espacios.
SET VARIABLE_CON_ESPACIO="Valor con espacios"
3.
Mostrar todas las variables de entorno: Simplemente ingrese
`SET`sin variable específica muestra todas las variables de entorno y sus valores. Esto puede resultar útil para garantizar que los cambios se hayan realizado según lo esperado.
SET
4.
Configuración de variables de entorno en secuencias de comandos por lotes: Si configura variables de entorno en una secuencia de comandos por lotes, debe tener en cuenta que se accederá a la variable más adelante en la secuencia de comandos.
`%Variable%`él sigue.
SET NUEVO_VARIABLE=Contenido
ECHO %NUEVO_VARIABLE%
5.
Entrada del usuario con`SET /P`: Si usted
`SET /P`Para la entrada del usuario, asegúrese de indicarle claramente al usuario y proporcionarle instrucciones claras para evitar confusiones.
SET /P ENTRADA DE USUARIO=Introduce algo:
6.
Sensibilidad entre mayúsculas y minúsculas: Tenga en cuenta que las variables de entorno normalmente no distinguen entre mayúsculas y minúsculas. Esto significa que
`%Variable%`y
`%variable%`acceder al mismo.
Estos consejos deberían garantizar que usted
`SET`-Utilizar comandos de forma eficaz y segura.