setx
Crea o modifica variables de entorno en el entorno del usuario o del sistema, sin necesidad de programación ni scripting. El comando Setx también recupera los valores de las claves del Registro y los escribe en archivos de texto.
Nota
Este comando proporciona la única manera de establecer los valores de entorno del sistema de forma directa y permanente en la línea de comandos o mediante programación. Las variables de entorno del sistema se pueden configurar manualmente mediante Panel de control o a través de un editor del Registro. El comando set, que es interno del intérprete de comandos (Cmd.exe), establece solo variables de entorno de usuario para la ventana de consola actual.
Sintaxis
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]
Parámetros
| Parámetro | Description |
|---|---|
/s <computer> |
Especifica el nombre o la dirección IP de un equipo remoto. No use barras diagonales inversas. El valor predeterminado es el nombre del equipo local. |
/u [<domain>\]<user name> |
Ejecuta el script con las credenciales de la cuenta de usuario especificada. El valor predeterminado son los permisos del sistema. |
/p [ <password> ] |
Especifica la contraseña de la cuenta de usuario especificada en el parámetro /u. |
<variable> |
Especifica el nombre de la variable de entorno que desea establecer. |
<value> |
Especifica el valor en el que desea establecer la variable de entorno. |
/k <path> |
Especifica que la variable se establece en función de la información de una clave del Registro. La ruta de acceso usa la sintaxis siguiente: . Por ejemplo, puede especificar la ruta de acceso siguiente: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName |
/f <filename> |
Especifica el archivo que desea usar. |
/a <X>,<Y> |
Especifica coordenadas absolutas y desplazamiento como parámetros de búsqueda. |
/r <X>,<Y> <String> |
Especifica coordenadas relativas y desplazamiento de String como parámetros de búsqueda. |
| /m | Especifica que se establezca la variable en el entorno del sistema. El valor predeterminado es el entorno local. |
| /x | Muestra coordenadas de archivo, omitiendo las opciones de línea de comandos /a, /ry /d. |
/d <delimiters> |
Especifica delimitadores como , o que se usarán además de los cuatro delimitadores integrados: SPACE, TAB, ENTER y LINEFEED. Los delimitadores válidos incluyen cualquier carácter ASCII. El número máximo de delimitadores es 15, incluidos los delimitadores integrados. |
| /? | Muestra la ayuda en el símbolo del sistema. |
Observaciones
Este comando es similar a la utilidad UNIX SETENV.
Puede usar este comando para establecer valores para variables de entorno de usuario y sistema de uno de los tres orígenes (modos): Modo de línea de comandos, Modo del Registro o Modo de archivo.
Este comando escribe variables en el entorno maestro del Registro. Las variables establecidas con variables setx solo están disponibles en futuras ventanas de comandos, no en la ventana de comandos actual.
HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE son los únicos subárboles admitidos. REG_DWORD, REG_EXPAND_SZ, REG_SZ y REG_MULTI_SZ son los tipos de datos RegKey válidos.
Si obtiene acceso a los REG_MULTI_SZ en el Registro, solo se extrae y se usa el primer elemento.
No puede usar este comando para quitar los valores agregados a los entornos locales o del sistema. Puede usar este comando con un nombre de variable y ningún valor para quitar un valor correspondiente del entorno local.
REG_DWORD los valores del Registro se extraen y se usan en modo hexadecimal.
El modo de archivo solo admite el análisis de archivos de texto de retorno de carro y avance de línea (CRLF).
Al ejecutar este comando en una variable existente, se quitan todas las referencias de variable y se usan valores expandido.
Por ejemplo, si la variable %PATH% tiene una referencia a %JAVADIR%, y %PATH% se manipula mediante setx,%JAVADIR% se expande y su valor se asigna directamente a la variable de destino %PATH%. Esto significa que las actualizaciones futuras de %JAVADIR% no se reflejarán en la variable %PATH%.
Tenga en cuenta que hay un límite de 1024 caracteres al asignar contenido a una variable mediante setx.
Esto significa que el contenido se recorta si se van más de 1024 caracteres y que el texto recortado es lo que se aplica a la variable de destino. Si este texto recortado se aplica a una variable existente, puede provocar la pérdida de datos mantenidos previamente por la variable de destino.
Ejemplos
Para establecer la variable de entorno MACHINE en el entorno local en el valor Brand1, escriba:
setx MACHINE Brand1
Para establecer la variable de entorno MACHINE en el entorno del sistema en el valor Equipo Brand1,escriba:
setx MACHINE Brand1 Computer /m
Para establecer la variable de entorno MYPATH en el entorno local para usar la ruta de búsqueda definida en la variable de entorno PATH, escriba:
setx MYPATH %PATH%
Para establecer la variable de entorno MYPATH en el entorno local para usar la ruta de búsqueda definida en la variable de entorno PATH después de reemplazar por , escriba:
setx MYPATH ~PATH~
Para establecer la variable de entorno MACHINE en el entorno local en Brand1 en un equipo remoto denominado computer1,escriba:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
Para establecer la variable de entorno MYPATH en el entorno local para usar la ruta de búsqueda definida en la variable de entorno PATH en un equipo remoto denominado computer1, escriba:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%
Para establecer la variable de entorno TZONE del entorno local en el valor que se encuentra en laHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName clave del Registro, escriba:
setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Para establecer la variable de entorno TZONE en el entorno local de un equipo remoto denominado computer1 en el valor que se encuentra en laHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName del Registro, escriba:
setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Para establecer la variable de entorno BUILD en el entorno del sistema en el valor que se encuentra en la HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber clave del Registro, escriba:
setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m
Para establecer la variable de entorno BUILD en el entorno del sistema de un equipo remoto denominado Computer1 en el valor que se encuentra en laHKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber clave del Registro, escriba:
setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m
Para mostrar el contenido de un archivo denominado Ipconfig.out, junto con las coordenadas correspondientes del contenido, escriba:
setx /f ipconfig.out /x
Para establecer la variable de entorno IPADDR del entorno local en el valor que se encuentra en la coordenada 5,11 del archivo Ipconfig.out, escriba:
setx IPADDR /f ipconfig.out /a 5,11
Para establecer la variable de entorno OCTET1 del entorno local en el valor que se encuentra en la coordenada 5,3 del archivo Ipconfig.out con delimitadores #$*., escriba:
setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.
Para establecer la variable de entorno IPGATEWAY del entorno local en el valor que se encuentra en la coordenada 0,7 con respecto a la coordenada de gateway en el archivo Ipconfig.out, escriba:
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
Para mostrar el contenido del archivo Ipconfig.out, junto con las coordenadas correspondientes del contenido, en un equipo denominado computer1, escriba:
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x