Articulo de referencia

Variable de entorno

Una variable de entorno es un valor definible por el usuario que puede afectar el comportamiento de los procesos en ejecución en un ordenador. Las variables de entorno forman pa...

Una variable de entorno es un valor definible por el usuario que puede afectar el comportamiento de los procesos en ejecución en un ordenador. Las variables de entorno forman parte del entorno en el que se ejecuta un proceso. Por ejemplo, un proceso en ejecución puede consultar el valor de la variable de entorno TEMP para encontrar una ubicación adecuada para almacenar archivos temporales , o las variables HOME o USERPROFILE para encontrar la estructura de directorios del usuario que ejecuta el proceso.

Se introdujeron en su forma moderna en 1979 con la versión 7 de Unix , por lo que se incluyeron en todas las variantes y versiones del sistema operativo Unix a partir de ese momento, incluyendo Linux y macOS . Desde PC DOS 2.0 en 1982, todos los sistemas operativos de Microsoft posteriores , incluyendo Microsoft Windows y OS/2, también los incluyeron como una característica, aunque con una sintaxis, uso y nombres de variables estándar algo diferentes.

Diseño

En todos los sistemas Unix y similares a Unix , así como en Windows, cada proceso tiene su propio conjunto de variables de entorno . Por defecto, cuando se crea un proceso, hereda un entorno de ejecución duplicado de su proceso padre, excepto por los cambios explícitos realizados por el padre al crear el hijo. A nivel de API , estos cambios deben hacerse entre la ejecución forky exec. Alternativamente, desde shells de comandos como bash , un usuario puede cambiar las variables de entorno para una invocación de comando particular invocándola indirectamente a través de envo usando la notación. Un programa en ejecución puede acceder a los valores de las variables de entorno para fines de configuración.ENVIRONMENT_VARIABLE=VALUE <command>

Los scripts de shell y los archivos por lotes utilizan variables de entorno para comunicar datos y preferencias a los procesos secundarios . También se pueden usar para almacenar valores temporales que se consultarán posteriormente en un script de shell. Sin embargo, en Unix, se prefieren las variables no exportadas para este fin, ya que no se filtran fuera del proceso.

En Unix, una variable de entorno que se modifica en un script o programa compilado solo afectará a ese proceso y, posiblemente, a los procesos secundarios. El proceso padre y cualquier otro proceso no relacionado no se verán afectados. Del mismo modo, cambiar o eliminar el valor de una variable dentro de un archivo por lotes de DOS o Windows modificará la variable durante el tiempo que dure COMMAND.COMsu CMD.EXEexistencia.

En Unix, las variables de entorno se inicializan normalmente durante el arranque del sistema mediante los scripts de inicio de init , y por lo tanto, son heredadas por todos los demás procesos del sistema. Los usuarios pueden, y a menudo lo hacen, modificarlas en el script de perfil del intérprete de comandos que estén utilizando. En Microsoft Windows, el valor predeterminado de cada variable de entorno se almacena en el Registro de Windows o se establece en el archivo.AUTOEXEC.BAT

En Unix , un programa setuid recibe un entorno elegido por quien lo llama, pero se ejecuta con una autoridad diferente. El enlazador dinámico suele cargar el código desde las ubicaciones especificadas por las variables de entorno $LD_LIBRARY_PATHy $LD_PRELOADejecutarlo con la autoridad del proceso. Si un programa setuid hiciera esto, sería inseguro, ya que quien lo llama podría hacer que ejecutara código arbitrario y, por lo tanto, abusar de su autoridad. Por esta razón, libc desactiva estas variables de entorno al iniciar un proceso setuid. Los programas setuid suelen desactivar las variables de entorno desconocidas y comprobar las demás o establecerlas en valores razonables.

En general, la colección de variables de entorno funciona como una matriz asociativa donde tanto las claves como los valores son cadenas de caracteres. La interpretación de los caracteres en cada cadena difiere entre sistemas. Cuando se necesitan representar estructuras de datos como listas, es común usar listas separadas por dos puntos (común en Unix y sistemas similares) o por punto y coma (común en Windows y DOS).

Sintaxis

Las variables se pueden usar tanto en scripts como en la línea de comandos . Generalmente se hace referencia a ellas colocando símbolos especiales delante o alrededor del nombre de la variable.

Por convención, los nombres de las variables de entorno se escriben normalmente en mayúsculas. Esto ayuda a diferenciarlas claramente de otras variables e identificadores utilizados en el código de programación. Sin embargo, cabe destacar que la distinción entre mayúsculas y minúsculas en los nombres de las variables de entorno varía según el sistema operativo. Es decir, los sistemas operativos tipo Unix distinguen entre mayúsculas y minúsculas, mientras que DOS, OS/2 y Windows no.

Unix

En la mayoría de los intérpretes de comandos de Unix y similares , el valor de una variable de entorno se obtiene colocando un $signo de exclamación antes del nombre de la variable. Si es necesario, el nombre también puede ir entre llaves.

Para mostrar el directorio personal del usuario, este puede escribir:

echo $INICIO

En los sistemas Unix y similares a Unix, los nombres de las variables de entorno distinguen entre mayúsculas y minúsculas.

El comando envmuestra todas las variables de entorno y sus valores. printenvTambién se puede usar para imprimir una sola variable, proporcionando su nombre como único argumento.

DOS, OS/2 y Windows

En los intérpretes de línea de comandos de DOS, OS/2 y Windows, como COMMAND.COMy CMD.EXE, una variable de entorno se recupera colocando un %signo antes y después de ella.

En los intérpretes de línea de comandos de DOS, OS/2 y Windows, así como en sus API , no se distingue entre mayúsculas y minúsculas en los nombres de las variables de entorno.

La variable de entorno llamada HOMEDRIVEcontiene la letra de la unidad (más sus :dos puntos finales) del directorio de inicio del usuario, mientras que HOMEPATHcontiene la ruta completa del directorio de inicio del usuario dentro de esa unidad.

Para ver la unidad y la ruta de acceso a la casa, el usuario puede escribir lo siguiente:

ECO %UNIDAD DE CASA%%RUTA DE CASA%

El comando SET(sin argumentos) muestra todas las variables de entorno y sus valores. En Windows NT y versiones posteriores set, también se puede usar para imprimir todas las variables cuyo nombre comience con un prefijo determinado, proporcionando dicho prefijo como único argumento del comando.

En Windows PowerShell , el usuario puede escribir lo siguiente:

"$Env:HomeDrive$Env:HomePath"

o uno de los siguientes equivalentes redundantes:

Write-Output "$Env:HomeDrive$Env:HomePath" echo "$Env:HomeDrive$Env:HomePath" write "$Env:HomeDrive$Env:HomePath" return "$Env:HomeDrive$Env:HomePath" Write-Host "$Env:HomeDrive$Env:HomePath"

En PowerShell, no se distingue entre mayúsculas y minúsculas en los nombres de las variables de entorno.

El siguiente comando muestra todas las variables de entorno y sus valores:

Get-ChildItem env :

Tarea: Unix

Los comandos envy setse pueden usar para establecer variables de entorno y a menudo se incorporan directamente en el intérprete de comandos.

También se pueden utilizar los siguientes comandos, pero a menudo dependen de un intérprete de comandos específico.

VARIABLE = valor # (no debe haber espacios alrededor del signo igual) Exportar VARIABLE # para Bourne y shells relacionados
export VARIABLE = valor # para ksh , bash y shells relacionados
Valor de la variable setenv # para csh y shells relacionados

Unos pocos principios sencillos rigen cómo las variables ambientales producen su efecto.

Las variables de entorno son locales al proceso en el que se establecieron. Si se crean dos procesos de shell y se cambia el valor de una variable de entorno en uno de ellos, ese cambio no será visible para el otro.

Cuando se crea un proceso hijo, hereda todas las variables de entorno y sus valores del proceso padre. Normalmente, cuando un programa llama a otro, primero crea un proceso hijo mediante la bifurcación (fork) , luego el hijo ajusta el entorno según sea necesario y, finalmente, se reemplaza a sí mismo con el programa que va a ser llamado. Este procedimiento otorga al programa que realiza la llamada el control sobre el entorno del programa llamado.

En los intérpretes de comandos de Unix, las variables se pueden asignar sin la exportpalabra clave `variables`. Las variables definidas de esta forma se muestran en el setcomando, pero no son variables de entorno propiamente dichas, ya que solo las almacena el intérprete de comandos y son desconocidas para los demás procesos. El printenvcomando no las mostrará y los procesos secundarios no las heredarán.

VARIABLE = valor

La sintaxis de prefijo exporta una variable de entorno "verdadera" a un proceso hijo sin afectar al proceso actual: [ 1 ]

VARIABLE = valor nombre_programa [argumentos]

La persistencia de una variable de entorno puede ser a nivel de sesión o a nivel de sistema.

unsetes un comando integrado implementado tanto por la familia de shells Bournesh ( , ksh, bash, etc.) como por la familia de shells C (csh, tcsh, etc.) de shells de línea de comandos de Unix . Elimina una variable de shell, borrándola de la memoria y del entorno exportado del shell. Se implementa como un comando integrado del shell , porque manipula directamente los aspectos internos del shell. [ 2 ] [ 3 ] Las variables de shell de solo lectura no se pueden eliminar. Si se intenta eliminar una variable de solo lectura, el unsetcomando imprimirá un mensaje de error y devolverá un código de salida distinto de cero.

Asignación: DOS, OS/2 y Windows

En los intérpretes de línea de comandos de DOS, OS/2 y Windows, como COMMAND.COMy CMD.EXE, el SETcomando se utiliza para asignar variables de entorno y valores utilizando los siguientes argumentos:

ESTABLECER VARIABLE = valor 

Una variable de entorno se elimina mediante:

ESTABLECER VARIABLE =

El SETcomando sin argumentos muestra todas las variables de entorno junto con sus valores; con cero o más espacios, también incluirá variables internas. En , es posible asignar variables locales que no serán globales usando el comando y restaurar el entorno.SET " "CMD.EXESETLOCALENDLOCAL

Utilice el interruptor/? para mostrar la documentación interna o utilice el visorhelp :

COLOCAR /? AYUDA A CONFIGURAR ESTABLECER LOCAL /? AYUDA A ESTABLECER LOCAL 

En PowerShell , la asignación sigue una sintaxis similar a la de Unix:

$env:VARIABLE = "VALOR"

Tarea: PHP

En PHPputenv() se debe usar la función. [ 4 ] [ 5 ]

putenv ( "VARIABLE_NAME" = "VALUE" );

Ejemplos

Algunos ejemplos de variables de entorno son:

  • PATH: una lista de rutas de directorio. Cuando el usuario escribe un comando sin proporcionar la ruta completa, se comprueba esta lista para ver si contiene una ruta que conduzca al comando.
  • HOME( tipo Unix ) y (Microsoft Windows): indican dónde se encuentra el directorio principalUSERPROFILE de un usuario en el sistema de archivos .
  • HOME/{.AppName}( tipo Unix ) y APPDATA\{DeveloperName\AppName}(Microsoft Windows): para almacenar la configuración de la aplicación. Muchas aplicaciones usan incorrectamente USERPROFILEpara la configuración de la aplicación en Windows: USERPROFILEsolo debe usarse en cuadros de diálogo que permitan al usuario elegir entre rutas como Documents/Pictures/Downloads/Music; para fines programáticos, se debe usar APPDATA(para la configuración itinerante de la aplicación compartida entre varios dispositivos), LOCALAPPDATA(para la configuración local de la aplicación) o PROGRAMDATA(para la configuración de la aplicación compartida entre varios usuarios del sistema operativo). [ 6 ]
  • TERM( tipo Unix ): especifica el tipo de terminal de computadora o emulador de terminal que se está utilizando (por ejemplo, vt100o dumb).
  • PS1( tipo Unix ): especifica cómo se muestra el indicador en el intérprete de comandos Bourne y sus variantes.
  • MAIL( tipo Unix ): se utiliza para indicar dónde se encuentra el correo de un usuario.
  • TEMP: ubicación donde los procesos pueden almacenar archivos temporales.

Variables de entorno reales

Unix

$PATH
Contiene una lista de directorios separados por dos puntos donde el intérprete de comandos busca comandos que no contengan una barra diagonal en su nombre (los comandos con barras diagonales se interpretan como nombres de archivo para ejecutar, y el intérprete de comandos intenta ejecutar los archivos directamente). Es equivalente a la variable de DOS , OS/2 y Windows .%PATH%
$HOME
Contiene la ubicación del directorio personal del usuario . Aunque el directorio personal del usuario actual también se puede obtener mediante las funciones de C getpwuidy getuid, $HOMEse usa con frecuencia por conveniencia en varios scripts de shell (y otros contextos). El uso de la variable de entorno también le da al usuario la posibilidad de apuntar a otro directorio.
$PWD
Esta variable apunta al directorio actual. Equivalente a la salida del comando pwd cuando se llama sin argumentos.
$DISPLAY
Contiene el identificador de la pantalla que los programas X11 deben usar por defecto.
$LD_LIBRARY_PATH
En muchos sistemas Unix con un enlazador dinámico , contiene una lista separada por dos puntos de directorios en los que el enlazador dinámico debe buscar objetos compartidos al construir una imagen de proceso después de exec, antes de buscar en cualquier otro directorio.
$LIBPATHo$SHLIB_PATH
Alternativas que $LD_LIBRARY_PATHse utilizan habitualmente en versiones antiguas de Unix.
$LANG, $LC_ALL, $LC_...
$LANGse utiliza para establecer la configuración regional predeterminada . Por ejemplo, si los valores de configuración regional son pt_BR, entonces el idioma se establece en portugués (brasileño) y se utiliza la práctica brasileña cuando corresponde. Diferentes aspectos de la localización se controlan mediante $LC_variables individuales ( $LC_CTYPE, , etc.). se puede utilizar para forzar la misma configuración regional para todos los aspectos.$LC_COLLATE$LC_DATE$LC_ALL
$TZ
Se refiere a la zona horaria . Puede presentarse en varios formatos, ya sea especificando la zona horaria en sí misma o haciendo referencia a un archivo (en /usr/share/zoneinfo).
$BROWSER
Contiene una lista separada por dos puntos de las preferencias de navegador web de un usuario , para uso de programas que necesitan permitir al usuario ver contenido en una URL . Se pretende que los navegadores de la lista se intenten en orden, del primero al último, deteniéndose después del primero que tenga éxito. Esta disposición permite un comportamiento alternativo en diferentes entornos; por ejemplo, en un entorno X11 , se puede usar un navegador gráfico (como Firefox ), pero en un entorno de consola se puede usar un navegador basado en terminal (como Lynx%s ). Puede haber un token para especificar dónde debe colocarse la URL; de lo contrario, el navegador debe iniciarse con la URL como primer argumento. [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ]

DOS

Bajo DOS, el entorno maestro lo proporciona el procesador de comandos primario, que hereda el pre-entorno definido CONFIG.SYScuando se carga por primera vez. Su tamaño se puede configurar a través del COMMAND /E:nparámetro entre 160 [ 12 ] y 32767 [ 12 ] bytes. Los segmentos de entorno local heredados a los procesos hijos se reducen normalmente al tamaño del contenido que contienen. Algunos procesadores de línea de comandos (como 4DOS ) permiten definir una cantidad mínima de espacio de entorno libre que estará disponible al iniciar shells secundarios. [ 12 ] Si bien el contenido de las variables de entorno permanece sin cambios al almacenarse, sus nombres (sin las " %") siempre se convierten a mayúsculas, con la excepción de las variables de pre-entorno definidas a través de la CONFIG.SYSdirectiva SETen DR DOS 6.0 y superior [ 13 ] [ 14 ] (y solo con SWITCHES=/L(para "permitir nombres en minúsculas") en DR-DOS 7.02 y superior). [ 12 ] [ 15 ] En principio, MS-DOS 7.0 y versiones posteriores también admiten nombres de variables en minúsculas ( %windir%), pero no proporcionan ningún medio para que el usuario los defina. Los nombres de variables de entorno que contienen letras minúsculas se almacenan en el entorno como las variables de entorno normales, pero permanecen invisibles para la mayoría del software de DOS, ya que están escritos para esperar solo variables en mayúsculas. [ 12 ] [ 13 ] [ 14 ] Algunos procesadores de comandos limitan la longitud máxima de un nombre de variable a 80 caracteres. [ 12 ] Si bien principalmente solo está limitado por el tamaño del segmento de entorno , algunos programas de DOS y Windows de 16 bits [ 12 ] [ nb 1 ] no esperan que el contenido de las variables de entorno supere los 128 caracteres. DR-DOS COMMAND.COMadmite variables de entorno de hasta 255 , 4DOS incluso hasta 512 caracteres. [ 12 ] Dado que COMMAND.COMse puede configurar (a través de/L:128..1024) para admitir internamente líneas de comandos de hasta 1024 caracteres en MS-DOS 7.0 y versiones posteriores, se espera que las variables de entorno también contengan al menos 1024 caracteres. En algunas versiones de DR-DOS, el entorno pasado a los controladores, que a menudo no necesitan su entorno después de la instalación, se puede reducir o reubicar mediante las opciones SETENVo INSTALL[HIGH]/ (entorno cero), (unidad sustituta, por ejemplo ) y (reubicar el entorno por encima del programa) para minimizar la huella de memoria residente resultante del controlador . [ 16 ] [ 15 ] [ 13 ] [ 17 ] [ 18 ] [ 19 ]LOADHIGH/Z/D[:loaddrive]B:TSR.COM/E

En el modo por lotes, las variables de entorno inexistentes se reemplazan por una cadena vacía.

Las variables de entorno estándar o las variables de entorno reservadas incluyen:

%APPEND%(Compatible desde DOS 3.3)
Esta variable contiene una lista de directorios separados por punto y coma donde buscar archivos. Normalmente se modifica mediante el APPEND /Ecomando, que también garantiza que los nombres de los directorios se conviertan a mayúsculas. Algunos programas de DOS esperan que los nombres se almacenen en mayúsculas y que la longitud de la lista no supere los 121 [ 12 ] caracteres; por lo tanto, es mejor no modificar la variable mediante el SETcomando. Los nombres de archivo largos que contengan espacios u otros caracteres especiales no deben ir entre comillas ( ").
%CONFIG%(compatible desde MS-DOS 6.0 y PC DOS 6.1 , también compatible con ROM-DOS [ 20 ] )
Esta variable contiene el nombre simbólico de la configuración de arranque seleccionada actualmente. La BIOS de DOS ( IO.SYS, IBMBIO.COM, etc.) la establece con el nombre definido por la CONFIG.SYSdirectiva correspondiente MENUITEMantes de iniciar el procesador de comandos principal. Su propósito principal es permitir casos especiales adicionales en AUTOEXEC.BATy trabajos por lotes similares dependiendo de la opción seleccionada en el momento del arranque. Esto se puede emular en DR-DOS utilizando la CONFIG.SYSdirectiva SETcomo SET CONFIG=1.
%CMDLINE%(Introducido con 4DOS , también compatible desde MS-DOS 7.0 )
Esta variable contiene el texto expandido completo de la línea de comandos que se está ejecutando actualmente. Las aplicaciones pueden leerla para detectar el uso de y recuperar líneas de comandos largas, ya que el método tradicional para recuperar los argumentos de la línea de comandos a través del PSP (o funciones API relacionadas ) está limitado a 126 caracteres y ya no está disponible cuando se expanden los FCB o se utiliza el DTACOMMAND.COM predeterminado. Si bien 4DOS admite líneas de comandos más largas, todavía solo admite un máximo de 126 caracteres en el indicador de forma predeterminada (a menos que se anule con /U:128..255para especificar el tamaño del búfer de la línea de comandos), pero no obstante, las líneas de comandos internas pueden volverse más largas a través de la expansión de variables fe (dependiendo de /L:128..1024para especificar el tamaño del búfer interno). Además del byte de longitud de la línea de comandos en el PSP, la línea de comandos del PSP normalmente está limitada por ASCII-13 , y las líneas de comandos de más de 126 caracteres normalmente se truncarán insertando un ASCII-13 en la posición 127, [ 14 ] pero esto no se puede confiar en todos los escenarios. [ 14 ] [ nb 2 ] La variable se suprimirá para comandos externos invocados con un @símbolo -precedente como en @XCOPY ...para compatibilidad con versiones anteriores y para minimizar el tamaño del entorno al cargar programas termina-y-permanecer-residentes no reubicables . Algunas versiones beta de Windows Chicago solían %CMDLINE%almacenar solo el resto de la línea de comandos que excedía los 126 caracteres en lugar de la línea de comandos completa. [ 13 ] [ 14 ]
%COMSPEC%(Compatible desde DOS 2.0)
Esta variable contiene la ruta completa 8.3 al procesador de comandos , normalmente o . No debe contener nombres de archivo largos , pero en DR-DOS puede contener contraseñas de archivos y directorios . El procesador de comandos principal la configura para que apunte a sí mismo (normalmente reflejando la configuración de la directiva ), de modo que la parte residente del procesador de comandos pueda recargar su parte transitoria desde el disco después de la ejecución de programas más grandes. El valor se puede cambiar en tiempo de ejecución para reflejar cambios en la configuración, lo que requeriría que el procesador de comandos se recargara desde otras ubicaciones. La variable también se utiliza al iniciar shells secundarios.C:\COMMAND.COMC:\DOS\COMMAND.COMCONFIG.SYSSHELL
%COPYCMD%(compatible desde MS-DOS 6.2 y PC DOS 6.3 , también compatible con ROM-DOS [ 20 ] )
Permite al usuario especificar el /Yinterruptor (para asumir "Sí" en las consultas) como valor predeterminado para los comandos COPY, XCOPY, y MOVE. Un valor predeterminado de /Ypuede ser anulado proporcionando el /-Yinterruptor en la línea de comandos. El /Yinterruptor indica al comando que reemplace los archivos existentes sin solicitar confirmación.
%DIRCMD%(compatible desde MS-DOS 5.0 y PC DOS 5.0 , también compatible con ROM-DOS [ 20 ] )
Permite al usuario especificar parámetros predeterminados personalizados para el DIRcomando, incluidas las especificaciones de archivo. Los interruptores predeterminados preestablecidos se pueden anular proporcionando el interruptor negativo en la línea de comandos. Por ejemplo, si %DIRCMD%contiene el /Winterruptor, se puede anular usando DIR /-Wen la línea de comandos. Esto es similar a la variable de entorno %$DIR%en DOS Plus [ 21 ] y una facilidad para definir interruptores predeterminados para DIRa través de sus interruptores /Co en DR-DOS . [ 13 ] también es compatible con los comandos externos / Stacker en Novell DOS 7 y superior. [ 13 ]/RCOMMAND.COM%DIRCMD%SDIR.COMDIR.COM
%LANG%(Compatible desde MS-DOS 7.0 )
Algunas herramientas admiten esta variable para cambiar el idioma de los mensajes en ediciones multilingües.
%LANGSPEC%(Compatible desde MS-DOS 7.0 )
Algunas herramientas admiten esta variable para cambiar el idioma de los mensajes en ediciones multilingües.
%NO_SEP%(Compatible desde PC DOS 6.3 y DR-DOS 7.07 )
Esta variable controla la visualización de los separadores de miles en los mensajes de varios comandos. Emitidos por defecto, pueden suprimirse especificando SET NO_SEP=ONo SET NO_SEP=1en PC  DOS. DR-DOS permite además anular el separador de miles del sistema que se muestra como en fe SET NO_SEP=.. [ 12 ]
%PATH%(Compatible desde DOS 2.0)
Esta variable contiene una lista de directorios separados por punto y coma en la que el intérprete de comandos buscará archivos ejecutables . Equivalente a la $PATHvariable de Unix (pero algunas aplicaciones de DOS y Windows también usan la lista para buscar archivos de datos de forma similar a $LD_LIBRARY_PATHen sistemas tipo Unix). Normalmente se cambia mediante el comando PATH(o PATH /Een MS-DOS 6.0 ), que también garantiza que los nombres de los directorios se conviertan a mayúsculas. Algunos programas de DOS esperan que los nombres se almacenen en mayúsculas y que la longitud de la lista no supere los 123 [ 12 ] caracteres, [ nb 1 ] por lo que es mejor no modificar la variable mediante el SETcomando. [ 12 ] Los nombres de archivo largos que contienen espacios u otros caracteres especiales no deben ir entre comillas ( "). Por defecto, se busca primero en el directorio actual, pero algunos procesadores de línea de comandos como 4DOS permiten .incluir " " (de "directorio actual") en la lista para anular este orden de búsqueda; algunos programas de DOS son incompatibles con esta extensión. [ 12 ]
%PROMPT%(Compatible desde DOS 2.0)
Esta variable contiene una $cadena tokenizada que define la visualización del mensaje . Normalmente se cambia mediante el PROMPTcomando.
%TEMP%(y %TMP%)
Estas variables contienen la ruta al directorio donde se deben almacenar los archivos temporales%TEMP% . Las herramientas del sistema operativo normalmente solo usan , mientras que los programas de terceros también usan %TMP%. Normalmente %TEMP%tiene prioridad sobre %TMP%.

La familia DR-DOS admite una serie de variables de entorno estándar adicionales, entre las que se incluyen:

%BETA%
Esta variable contiene un mensaje opcional que muestran algunas versiones (incluida DR DOS 3.41 ) COMMAND.COMal iniciar shells secundarios. [ 22 ]
%DRDOSCFG%/ %NWDOSCFG%/%OPENDOSCFG%
Esta variable contiene el directorio [ 23 ] (sin las comillas finales " \") donde buscar archivos .INIde .CFGconfiguración (es decir, archivos específicos de la aplicación DR-DOS como TASKMGR.INI, TASKMAX.INI, VIEWMAX.INI, FASTBACK.CFGetc., archivos específicos de la clase como COLORS.INI, o archivos globales como DRDOS.INI, NWDOS.INI, OPENDOS.INI, o DOS.INI), tal como los utilizan los INSTALLcomandos SETUPy y varios programas DR-DOS como DISKOPT, DOSBOOK, EDIT, FBX, , , FILELINK/ , , , , , o . [ 13 ] No debe contener nombres de archivo largos .LOCKSECURITY.OVLNWLOGIN.EXESERNOTASKMAXTASKMGRVIEWMAXUNDELETE
%DRCOMSPEC%
Esta variable puede contener opcionalmente una ruta alternativa al procesador de comandos, que tiene prioridad sobre la ruta definida en la %COMSPEC%variable, incluyendo opcionalmente contraseñas de archivos y directorios . Alternativamente, puede contener un valor especial de " ON" o " 1" para forzar el uso de la %COMSPEC%variable incluso en escenarios donde la %COMSPEC%variable pueda apuntar al procesador de línea de comandos incorrecto, por ejemplo, al ejecutar algunas versiones del SYScomando DR-DOS en un sistema operativo extranjero. [ 24 ]
%DRSYS%
Establecer esta variable en " ON" o " 1" forzará a algunas versiones del SYScomando DR-DOS a funcionar en sistemas operativos extranjeros en lugar de mostrar una advertencia. [ 24 ]
%FBP_USER%
Especifica el nombre de usuario utilizado por el comando FastBackFBX y los archivos de configuración en Novell DOS 7. [ 13 ]{user}.FB
%HOMEDIR%
Esta variable puede contener el directorio de inicio en DR-DOS (incluyendo DR DOS 5.0 y 6.0 ). [ 13 ] [ 22 ]
%INFO%
En algunas versiones de DR-DOS, COMMAND.COMesta variable define la cadena que muestra el $Itoken del PROMPTcomando. [ 22 ] Se puede usar, por ejemplo, para informar al usuario cómo salir de los shells secundarios.
%LOGINNAME%
En algunas versiones de DR-DOS, COMMAND.COMesta variable define el nombre de usuario que muestra el $Utoken del PROMPTcomando, tal como lo configuran los scripts de inicio de sesión de fe para Novell NetWare . [ 12 ] [ 13 ] [ 22 ] Véase también la pseudovariable de nombre similar %LOGIN_NAME%.
%MDOS_EXEC%
Esta variable puede tomar los valores " ON" o " OFF" en Multiuser DOS . Si está habilitada, el sistema operativo permite que las aplicaciones se ejecuten en shells secundarios con el Área de Programa de DOS (DPA) liberada para tener la máxima memoria de DOS disponible para las aplicaciones secundarias en lugar de ejecutarlas en el mismo dominio que en DOS. [ 25 ] [ 26 ]
%NOCHAR%
Esta variable se puede usar para definir el carácter que muestran algunos comandos en los mensajes para "No" en [Y,N]las consultas, anulando así el valor predeterminado del sistema (normalmente " N" en las versiones en inglés de DR-DOS). Si contiene una cadena, solo se tomará el primer carácter, en mayúscula. Algunos comandos también admiten un parámetro de línea de comandos /Ypara asumir automáticamente "Sí" en las consultas, suprimiendo así dichas solicitudes. Sin embargo, si el parámetro /Y:ynse usa para especificar los caracteres "Sí"/"No" (anulando así cualquier %NOCHAR%configuración), las consultas no se suprimen. Véase también la CONFIG.SYSdirectiva relacionada NOCHARy la variable de entorno %YESCHAR%. [ 24 ]
%NOSOUND%
Si se establece esta variable en " ON" o " 1", se desactivarán los pitidos predeterminados emitidos por algunos comandos de DR-DOS en determinadas situaciones, como para informar al usuario de la finalización de alguna operación, de que se requiere la interacción del usuario o cuando se ha pulsado una tecla incorrecta. Las opciones de línea de comandos para activar específicamente ciertos pitidos anularán esta configuración.
%OS%
Esta variable contiene el nombre del sistema operativo para distinguir entre diferentes sistemas operativos relacionados con DOS de origen Digital Research en trabajos y aplicaciones por lotes. [ 23 ] Los valores conocidos incluyen " DOSPLUS" ( DOS Plus 1.2 en emulación de DOS), " CPCDOS 4.1" (DOS Plus 1.2 en emulación CP/MDRDOS ), " " ( DR DOS 3.31 - 6.0 , DR DOS Panther , DR DOS StarTrek , DR-DOS 7.02 [ 23 ] - 7.05 ), " EZDOS" ( EZ-DOS 3.41 ), " PALMDOS" y " NetWare PalmDOS" ( PalmDOS 1.0 ), " NWDOS" ( Novell DOS 7 ), " NWDOS7" (Novell DOS 7 Beta ), " OPENDOS" ( Caldera OpenDOS 7.01 , Caldera DR-OpenDOS 7.02 ), " CDOS" ( DOS concurrente , DOS concurrente XM ), " CPCDOS" ( DOS de PC concurrente ), " CDOS386" ( DOS concurrente 386 ), " DRMDOS" ( DR DOS multiusuario ), " MDOS" ( CCI multiusuario DOS ), [ 25 ] " IMSMDOS" ( IMS Multiuser DOS ), " REAL32" ( REAL/32 ). [ 13 ] [ 27 ] MS-DOS también INTERSVRbusca un valor de " ". [ 27 ] Véase también la variable de entorno con el mismo nombre introducida posteriormente en la familia Windows NT .DRDOS%OS%
%PEXEC%
En algunas versiones de DR-DOS, esta variable define el comando ejecutado por el $Xtoken del PROMPTcomando antes de COMMAND.COMque se muestre el indicador después de regresar de la ejecución de un programa externo. [ 13 ] [ 23 ]
%SWITCHAR%
Esta variable define el SwitChar que se utilizará para el análisis de argumentos en algunos comandos de DR-DOS. Si se define, anula la configuración actual de SwitChar del sistema. Los únicos caracteres aceptados son " /" (estilo DOS), " -" (estilo Unix) y " " (estilo CP/M). Consulte también la directiva [relacionada (para establecer la configuración de SwitChar del sistema) y la variable de información del sistema en algunas versiones de DR-DOS (para recuperar la configuración actual para trabajos por lotes portátiles).CONFIG.SYSSWITCHAR%/%COMMAND.COM
%TASKMGRWINDIR%
Esta variable especifica el directorio donde se encuentra el WindowsSYSTEM.INI que utilizará el TASKMGRmultitarea DR-DOS, anulando el procedimiento predeterminado para localizar el archivo. [ 13 ]
%VER%
Esta variable contiene la versión del sistema operativo para distinguir entre diferentes versiones de DR-DOS en trabajos por lotes y en la visualización del VERcomando. [ 23 ] También se utiliza para el $Vtoken del PROMPTcomando y afecta el valor devuelto por la variable de información del sistema%OS_VERSION% . Los valores conocidos incluyen " 1.0" ( PalmDOS 1.0 ), " 1.2" ( DOS Plus 1.2 en emulación de DOS), " 2.0" ( DOS concurrente 386 2.0 ), " 3.0" ( DOS concurrente 386 3.0 ), " 3.31" ( DR DOS 3.31 ), " 3.32" ( DR DOS 3.32 ), " 3.33" ( DR DOS 3.33 ), " 3.34" ( DR DOS 3.34 ), " 3.35" ( DR DOS 3.35 ), " 3.40" ( DR DOS 3.40 ), " 3.41" ( DR DOS 3.41 , EZ-DOS 3.41 ), " 3.41T" ( DR DOS 3.41T ), " 4.1" ( PC concurrente DOS 4.1 ), " 5.0" ( DR DOS 5.0 , DR multiusuario DOS 5.0 ), " 5.1" ( Novel DR multiusuario DOS 5.1 ), " 6.0" ( DR DOS XM concurrente 6.0 , DR DOS 6.0 ), " 6.2" ( DR Concurrent DOS XM 6.2 ), " 7" ( Novell DOS 7 , Caldera OpenDOS 7.01 , DR-DOS 7.02 - 7.05 ), " 7.00" ( CCI Multiusuario DOS 7.00 ), " 7.07" ( DR-DOS 7.07 ), " 7.1" ( IMS Multiusuario DOS 7.1 ), " 7.21" ( CCI Multiusuario DOS 7.21 ), [ 25 ] " 7.22" ( CCI Multiusuario DOS 7.22 ), etc. [ 13 ] [ 27 ] [ 25 ]
%YESCHAR%
Esta variable se puede usar para definir el carácter que muestran algunos comandos en los mensajes para "Sí" en [Y,N]las consultas, anulando así el valor predeterminado del sistema (normalmente " Y" en las versiones en inglés de DR-DOS). Si contiene una cadena, solo se tomará el primer carácter, en mayúscula. Algunos comandos también admiten un parámetro de línea de comandos /Ypara asumir automáticamente "Sí" en las consultas, suprimiendo así dichas solicitudes. Sin embargo, si el parámetro /Y:yse usa para especificar el carácter "Sí" (anulando así cualquier %YESCHAR%configuración), las consultas no se suprimen. Véase también la CONFIG.SYSdirectiva relacionada YESCHARy la variable de entorno %NOCHAR%. [ 24 ]
%$CLS%
Esta variable define la secuencia de control que se enviará al controlador de la consola para borrar la pantalla cuando CLSse emita el comando, anulando así el valor predeterminado interno (" ←[2J" en DR-DOS, " ←E" en DOS Plus 1.2 en máquinas Amstrad [ 21 ] así como en Concurrent DOS , Multiuser DOS y REAL/32 para terminales VT52←+ , o " " en Multiuser DOS para terminales ASCII ). [ 25 ] Si la variable no está definida y no ANSI.SYSse detecta ningún controlador de consola, DR-DOS COMMAND.COMborrará directamente la pantalla a través de la función INT 10h/AH=00hBIOS , como lo hace MS-DOS/PC  DOS COMMAND.COM. Se admite una \nnnnotación especial para números octales para permitir la definición de caracteres especiales como ESC ( ASCII-27 = "←" = 1Bh = 33o), como fe en SET $CLS=\033[2J. Para enviar la barra invertida (" \") en sí misma, se puede duplicar " \\". [ 13 ] [ 22 ] [ 25 ]
%$DIR%
Compatible con DOS Plus, que acepta los valores "L" (largo) o "W" (ancho) para cambiar el diseño predeterminado de los listados de directorios con DIR . Se puede anular usando las opciones de línea de comandos /Lo /W. [ 22 ] [ 21 ] Véase también la variable de entorno similar %DIRCMD%y las DIRopciones /Cy /Rde DR-DOS COMMAND.COM. [ 13 ]
%$PAGE%
Compatible con DOS Plus, que acepta los valores " ON" o " OFF" para el control de paginación. Establecer esto en " ON" tiene el mismo efecto que agregarlo /Pa los comandos que lo admiten (como DIR o TYPE ). [ 22 ] [ 21 ]
%$LENGTH%
Utilizado por DOS Plus para definir la longitud de la pantalla de la consola en líneas. Esto se utiliza para controlar de forma portátil cuándo debe detenerse temporalmente la salida de la pantalla hasta que se pulse una tecla junto con la /Popción admitida por varios comandos o con paginación automática. [ 22 ] [ 21 ] Véanse también las variables de entorno relacionadas %$WIDTH%y %DIRSIZE%la pseudovariable similar %_ROWS%.
%$WIDTH%
Utilizado por DOS Plus para definir el ancho de la pantalla de la consola en columnas. Esto se utiliza para controlar de forma portátil el formato de la salida en pantalla de comandos como DIR /Wo TYPE filename. [ 22 ] [ 21 ] Véanse también las variables de entorno relacionadas %$LENGTH%y , %DIRSIZE%así como la pseudovariable similar %_COLUMNS%.
%$SLICE%
Utilizado por DOS Plus que acepta un valor numérico para controlar la división de tiempo en primer plano/segundo plano de los programas multitarea. [ 22 ] [ 21 ] Véase también el comando de DOS Plus SLICE.
%$ON%
Esta variable puede contener una secuencia de control opcional para activar el resaltado, la inversión o la coloración del texto. Se utiliza para enfatizar o controlar de otro modo la visualización de los nombres de archivo en comandos como TYPE wildcard, por ejemplo, SET $ON=\033[1mcon ANSI.SYS cargado o SET $ON=\016para una impresora IBM o ESC/P . Para la \nnnnotación octal especial admitida, consulte %$CLS%. [ 13 ] [ 21 ] Si bien la variable no está definida por defecto en DOS Plus y DR-DOS, el valor predeterminado de Multiuser DOS para una terminal ASCII es igual a SET $ON=\033p. [ 22 ] [ 25 ] Consulte también la variable de entorno relacionada %$OFF%.
%$OFF%
Esta variable puede contener una secuencia de control opcional para desactivar el resaltado, la inversión o la coloración del texto. Se utiliza para volver a la salida normal después de la visualización de nombres de archivo en comandos como TYPE wildcard, por ejemplo, SET $OFF=\033[0mcon ANSI.SYS cargado o SET $OFF=\024para una impresora IBM o ESC/P . Para la \nnnnotación octal especial admitida, consulte %$CLS%. [ 13 ] [ 21 ] Si bien la variable no está definida por defecto en DOS Plus y DR-DOS, el valor predeterminado de Multiuser DOS para una terminal ASCIISET $OFF=\033q es igual a . [ 22 ] [ 25 ] Consulte también la variable de entorno relacionada %$ON%.
%$HEADER%
Esta variable puede contener una secuencia de control opcional que se ejecuta antes de la salida del contenido del archivo en comandos como TYPEen DR-DOS 7.02 y versiones posteriores. Se puede usar para resaltar, paginar o formatear, por ejemplo, al enviar la salida a una impresora, como SET $HEADER=\017una impresora IBM o ESC/P . Para la \nnnnotación octal especial compatible, consulte [ 22 ]%$CLS% . Consulte también la variable de entorno relacionada .%$FOOTER%
%$FOOTER%
Esta variable puede contener una secuencia de control opcional que se emite después de la salida del contenido del archivo en comandos como TYPEen DR-DOS 7.02 y versiones posteriores. Se utiliza para volver al formato de salida normal, es decir, SET $FOOTER=\022\014en el ejemplo de la impresora anterior. Para la \nnnnotación octal especial admitida, consulte %$CLS%. [ 22 ] Consulte también la variable de entorno relacionada %$HEADER%.

Datalight ROM-DOS también admite una serie de variables de entorno estándar adicionales, entre las que se incluyen:

%DIRSIZE%
Esta variable se utiliza para definir tamaños de pantalla no estándar rows[,cols]para DIRlas opciones /Py /W(similar a %$LENGTH%y %$WIDTH%bajo DOS Plus). [ 20 ]
%NEWFILE%
Esta variable se establece automáticamente al primer parámetro dado a la directiva CONFIG.SYS NEWFILE . [ 20 ]

%TZ%, %COMM%, %SOCKETS%, %HTTP_DIR%, %HOSTNAME%y %FTPDIR%también son utilizados por ROM-DOS. [ 20 ]

Sistema operativo/2

%BEGINLIBPATH%
Contiene una lista de directorios separados por punto y coma donde se buscan DLL antes que en los directorios especificados por la %LIBPATH%variable (que se establece durante el arranque del sistema con la directiva especial CONFIG.SYSLIBPATH ). Es posible especificar directorios relativos aquí, incluyendo " ." para el directorio de trabajo actual. Consulte también la variable de entorno relacionada %ENDLIBPATH%.
%ENDLIBPATH%
una lista de directorios donde buscar DLLs como %BEGINLIBPATH%, pero la búsqueda se realiza después de la lista de directorios en %LIBPATH%.

Windows

Estas variables de entorno hacen referencia a ubicaciones de recursos críticos del sistema operativo y, como tales, generalmente no dependen del usuario. [ 28 ]

%APPDATA%
Contiene la ruta completa al directorio de datos de la aplicación del usuario que ha iniciado sesión. No funciona en Windows NT 4.0 SP6 (Reino Unido).
%LOCALAPPDATA%
Esta variable contiene los archivos de datos locales de las aplicaciones . Entre sus usos se incluyen el almacenamiento de temas de escritorio , informes de errores de Windows , almacenamiento en caché y perfiles de navegadores web.
%ComSpec%/%COMSPEC%
La %ComSpec%variable contiene la ruta completa al procesador de comandos; en la familia de sistemas operativos Windows NT, esta es cmd.exe , mientras que en Windows 9x , %COMSPEC%es COMMAND.COM .
%OS%
La %OS%variable contiene un nombre simbólico de la familia del sistema operativo para distinguir entre diferentes conjuntos de características en trabajos por lotes . Se asemeja a una variable de entorno con el mismo nombre %OS%que se encuentra en todos los sistemas operativos relacionados con DOS de origen Digital Research , como Concurrent DOS, Multiuser DOS , REAL/32, DOS Plus , DR DOS , Novell DOS y OpenDOS. %OS%Siempre contiene la cadena " Windows_NT" en la familia Windows NT . [ 29 ]
%PATH%
Esta variable contiene una lista de directorios separados por punto y coma (sin espacios) donde el intérprete de comandos buscará un archivo ejecutable que coincida con el comando dado. Las variables de entorno que representan rutas pueden estar anidadas dentro de la %PATH%variable, pero solo en un nivel de indirección. Si esta variable de entorno de subruta contiene a su vez una variable de entorno que representa una ruta, %PATH%no se expandirá correctamente en la sustitución de variables. Equivalente a la variable de Unix .$PATH
%PROCESSOR_ARCHITECTURE%, %PROCESSOR_ARCHITEW6432%, %PROCESSOR_IDENTIFIER%, %PROCESSOR_LEVEL%,%PROCESSOR_REVISION%
Estas variables contienen detalles de la CPU ; se configuran durante la instalación del sistema.
%PUBLIC%
La %PUBLIC%variable (introducida con Vista) apunta al directorio de perfil de usuario público (pseudo) " C:\Users\Public".
%ProgramFiles%, %ProgramFiles(x86)%,%ProgramW6432%
La %ProgramFiles%variable apunta al directorio Archivos de programa , que almacena todos los programas instalados de Windows y otros. El valor predeterminado en sistemas en inglés es " C:\Program Files". En las ediciones de 64 bits de Windows (XP, 2003, Vista), también existen %ProgramFiles(x86)%, cuyo valor predeterminado es " C:\Program Files (x86)", y %ProgramW6432%, cuyo valor predeterminado es " C:\Program Files". El %ProgramFiles%valor en sí depende de si el proceso que solicita la variable de entorno es de 32 o 64 bits (esto se debe a la redirección de Windows-on-Windows de 64 bits [ 30 ] ).
%CommonProgramFiles%, %CommonProgramFiles(x86)%,%CommonProgramW6432%
Esta variable apunta al subdirectorio Archivos comunes del directorio Archivos de programa . El valor predeterminado en sistemas en inglés es " C:\Program Files\Common Files". En las ediciones de 64 bits de Windows (XP, 2003, Vista), también existen %ProgramFiles(x86)%, cuyo valor predeterminado es " C:\Program Files (x86)", y %ProgramW6432%, cuyo valor predeterminado es " C:\Program Files". El %ProgramFiles%valor en sí depende de si el proceso que solicita la variable de entorno es de 32 o 64 bits (esto se debe a la redirección de Windows en Windows de 64 bits ).
%OneDrive%
La %OneDrive%variable es una variable de entorno especial del sistema que se encuentra en Windows NT y sus derivados. Su valor es la ruta donde (si está instalado y configurado) se encuentra el directorio de OneDrive. El valor de %OneDrive%es en la mayoría de los casos " C:\Users\{Username}\OneDrive\".
%SystemDrive%
La %SystemDrive%variable es una variable de entorno especial a nivel de sistema que se encuentra en Windows NT y sus derivados. Su valor es la unidad en la que se colocó el directorio del sistema. El valor de %SystemDrive%es en la mayoría de los casos " C:".
%SystemRoot%
La %SystemRoot%variable es una variable de entorno especial del sistema que se encuentra en la familia de sistemas operativos Windows NT. Su valor es la ubicación del directorio del sistema, incluyendo la unidad y la ruta. La unidad es la misma que %SystemDrive%y la ruta predeterminada en una instalación limpia depende de la versión del sistema operativo. Por defecto:
%windir%
Esta variable apunta al directorio de Windows . (En la familia de sistemas operativos Windows NT, es idéntica a la %SystemRoot%variable). Windows 95-98 y Windows ME se instalan, por defecto, en " ". Para otras versiones de Windows, consulte la entrada anterior.C:\Windows%SystemRoot%

Las variables de gestión de usuarios almacenan información relacionada con los recursos y la configuración de los distintos perfiles de usuario del sistema. Por regla general, estas variables no hacen referencia a recursos o ubicaciones críticas del sistema que sean necesarias para el funcionamiento del sistema operativo.

%ALLUSERSPROFILE%( %PROGRAMDATA%desde Windows Vista)
Esta variable se expande a la ruta completa del directorio de perfil de Todos los usuarios . Este perfil contiene recursos y configuraciones que utilizan todas las cuentas del sistema. Los accesos directos copiados en los directorios del menú Inicio o Escritorio de Todos los usuarios aparecerán en el menú Inicio o Escritorio de cada usuario , respectivamente.
%USERDOMAIN%
El nombre del grupo de trabajo o dominio de Windows al que pertenece el usuario actual. La variable relacionada %LOGONSERVER%contiene el nombre de host del servidor que autenticó las credenciales de inicio de sesión del usuario actual (nombre y contraseña). En el caso de equipos domésticos y equipos en un grupo de trabajo, el servidor de autenticación suele ser el propio equipo. En el caso de equipos en un dominio de Windows, el servidor de autenticación es un controlador de dominio (un controlador de dominio principal, o PDC, en dominios basados ​​en Windows NT 4).
%USERPROFILE%
Variable de entorno especial del sistema presente en Windows NT y sus derivados. Su valor indica la ubicación del directorio de perfil del usuario actual, donde se encuentra el subárbol del registro HKCU de dicho usuario NTUSER. Los usuarios también pueden utilizar esta %USERNAME%variable para determinar la identificación de inicio de sesión del usuario activo.

Las variables de sistema opcionales no se especifican explícitamente de forma predeterminada, pero pueden utilizarse para modificar el comportamiento predeterminado de ciertos comandos de consola integrados. Estas variables tampoco necesitan especificarse explícitamente como argumentos de línea de comandos.

Valores predeterminados

Las siguientes tablas muestran los valores predeterminados típicos de ciertas variables de entorno en las versiones en inglés de Windows, tal como se pueden recuperar en CMD.

(Algunas de estas variables también se definen al ejecutarse COMMAND.COMen Windows, pero difieren en ciertos detalles importantes: en Windows COMMAND.COM, los nombres de las variables de entorno siempre se escriben en mayúsculas. Algunas variables, pero no todas, contienen la versión corta 8.3 en lugar de nombres de archivo largos . Si bien faltan algunas variables presentes en el CMDentorno, también existen algunas variables específicas del COMMANDentorno).

En esta lista, no hay ninguna variable de entorno que haga referencia a la ubicación del directorio Mis documentos del usuario , por lo que no existe un método estándar para establecer el directorio de inicio de un programa como el directorio Mis documentos .

Variables de pseudoambiente

Los procesadores de comandos de DOS y Windows también admiten variables de entorno simuladas. Se trata de valores que se obtienen como variables de entorno, pero que en realidad no se almacenan en el entorno, sino que se calculan cuando se solicitan.

DOS

Además de las variables de entorno reales, que se almacenan de forma estática en el entorno hasta que se modifican o eliminan, existen varias variables de entorno ficticias para el procesamiento por lotes.

Los denominados parámetros de reemplazo o parámetros reemplazables (terminología de Microsoft/IBM), también conocidos como variables de reemplazo (terminología de Digital Research/Novell/Caldera) [ 23 ] o parámetros de archivo por lotes (terminología de JP Software) [ 12 ]%1 , %9se %0pueden utilizar para recuperar los parámetros de llamada de un trabajo por lotes, véase SHIFT. En los trabajos por lotes, se pueden recuperar como variables de entorno, pero en realidad no se almacenan en el entorno.

Algunos procesadores de línea de comandos (como DR-DOSCOMMAND.COM , [ 23 ] Multiuser DOSMDOS.COM / TMP.EXE(Terminal Message Process), JP Software 4DOS , 4OS2 , Take Command (anteriormente 4NT) y Windows cmd.exe ) admiten un tipo de variables de entorno pseudo denominadas variables de información del sistema (terminología de Novell/Caldera) [ 23 ] o variables internas (terminología de JP Software), [ 12 ] que pueden utilizarse para recuperar diversa información, posiblemente dinámica, pero de solo lectura, sobre el sistema en ejecución en trabajos por lotes. Los valores devueltos representan el estado del sistema en el momento en que se consultan estas variables; es decir, leerlas varias veces seguidas puede devolver valores diferentes incluso dentro del mismo comando; consultarlas no tiene ningún efecto directo en el sistema. Dado que no se almacenan en el entorno, no aparecen en la lista de SET y no existen para que los programas externos las recuperen. Si se define una variable de entorno real con el mismo nombre, esta tiene prioridad sobre la variable correspondiente hasta que la variable de entorno se elimine de nuevo. No distinguen entre mayúsculas y minúsculas. Si bien casi todas esas variables están precedidas por un guion bajo (" _") por 4DOS, etc., por convención (fe %_SECOND%), [ 12 ] no lo están bajo DR-DOS COMMAND.COM(fe %OS_VERSION%).

Además, 4DOS, 4OS2, 4NT y Take Command también admiten las llamadas funciones variables , [ 12 ] incluidas las definibles por el usuario. Funcionan igual que las variables internas , pero pueden aceptar parámetros opcionales (fe %@EVAL[]%) e incluso pueden cambiar el estado del sistema dependiendo de su función.

Variables de información del sistema compatibles con DR-DOS COMMAND.COM:

%AM_PM%
Esta pseudovariable devuelve el estado anterior o posterior al mediodía de la hora actual. La cadena devuelta depende de la versión de DR-DOS específica de la configuración regional, por ejemplo, " am" o " " en la versión en inglés. Se asemeja a una variable de identificadorpm con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%DAY%
Esta pseudovariable devuelve los días de la fecha actual en formato de 2 dígitos con ceros iniciales, por ejemplo, " 01".." 31". Véase también la pseudovariable similar %_DAY%. Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%DAY_OF_WEEK%
Esta pseudovariable devuelve el nombre del día de la semana en formato de 3 caracteres. La cadena devuelta depende de la versión de DR-DOS específica de la configuración regional, por ejemplo, " Sun", " Mon" Tue, " Wed", " Thu", " Fri", o " Sat" en la versión en inglés. Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%ERRORLEVEL%
En COMMAND.COMDR-DOS 7.02 y versiones posteriores, esta pseudovariable devuelve el último nivel de error devuelto por un programa externo o el RETURNcomando, fe " 0".." 255". [ 32 ] [ 33 ] Véase también la pseudovariable con el mismo nombre %ERRORLEVEL%en Windows y el IF ERRORLEVELcomando condicional.
%ERRORLVL%
En DR-DOS 7.02 y versiones posteriores, esta pseudovariable devuelve el último nivel de error en un formato de 3 dígitos con ceros iniciales, fe " 000".." 255". [ 32 ] [ 33 ] En Multiuser DOS , esta es una verdadera variable de entorno que el shell actualiza automáticamente con el código de retorno de los programas que salen. [ 25 ] Véase también la pseudovariable relacionada %ERRORLEVEL%en DR-DOS y el IF ERRORLEVELcomando.
%GREETING_TIME%
Esta pseudovariable devuelve la hora de saludo del día de 3 niveles. La cadena devuelta depende de la versión de DR-DOS específica de la configuración regional, por ejemplo, " morning", " afternoon" o " " en la versión en inglés. Se asemeja a una variable de identificadorevening con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%HOUR%
Esta pseudovariable devuelve las horas de la hora actual en formato de 12 horas sin ceros iniciales, por ejemplo, " 1".." 12". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%HOUR24%
Esta pseudovariable devuelve las horas de la hora actual en formato de 24 horas en un formato de 2 dígitos con ceros iniciales, fe " 00".." 23". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Véase también la pseudovariable similar %_HOUR%.
%MINUTE%
Esta pseudovariable devuelve los minutos de la hora actual en un formato de 2 dígitos con ceros iniciales, fe " 00".." 59". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Véase también la pseudovariable similar %_MINUTE%.
%MONTH%
Esta pseudovariable devuelve los meses de la fecha actual en un formato de 2 dígitos con ceros iniciales, fe " 01".." 12". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Véase también la pseudovariable similar %_MONTH%.
%MONTH_NAME%
Esta pseudovariable devuelve el nombre del mes de la fecha actual. La cadena devuelta depende de la versión de DR-DOS específica de la configuración regional, por ejemplo, " January", " February", March" " April, " " , " ", " ", May" ", June" " , " ", " ", o " " en la versión en inglés. Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .JulyAugustSeptemberOctoberDecember
%NDAY_OF_WEEK%
Esta pseudovariable devuelve el número del día de la semana actual, fe " 1".." 7" (con " 1" para el domingo). Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%OS_VERSION%
Esta pseudovariable devuelve la versión del sistema operativo según la configuración actual de la variable de entorno %VER%. Si %VER%no está definida, %OS_VERSION%devuelve " off". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare , que también puede devolver versiones para versiones de DOS que no sean DR-DOS.
%SECOND%
Esta pseudovariable devuelve los segundos de la hora actual en un formato de 2 dígitos con ceros iniciales, fe " 00".." 59". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Véase también la pseudovariable similar %_SECOND%.
%SHORT_YEAR%
Esta pseudovariable devuelve el año de la fecha actual en un formato de 2 dígitos con ceros iniciales, por ejemplo, " 93".." 99", " 00".." 92". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%YEAR%y%_YEAR%
Compatible desde Novell DOS 7 , la %YEAR%pseudovariable devuelve el año de la fecha actual en formato de 4 dígitos, fe " 1980".." 2099". Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . DR-DOS 7.02 y versiones posteriores la añadieron %_YEAR%para compatibilidad con 4DOS , devolviendo el mismo valor. [ 12 ]
%/%
En COMMAND.COMDR-DOS 7.02 y versiones posteriores, esta pseudovariable devuelve la configuración actual de SwitChar del sistema, ya sea " /" (estilo DOS) o " -" (estilo Unix) . [ 34 ] [ 35 ]CONFIG.SYS Véase también la directiva relacionada SWITCHAR y la variable de entorno %SWITCHAR%.
%_CODEPAGE%
Esta pseudovariable devuelve la página de códigos actual del sistema (" 1".." 65533" ), fe " 437", " 850", " 858". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también el CHCPcomando.
%_COLUMNS%
Esta pseudovariable devuelve el número actual de columnas de la pantalla según el modo de visualización, por ejemplo, " 40", " 80", " 132", etc. Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también está disponible COMMAND.COMdesde DR-DOS 7.02. Véase también una variable de entorno similar %$WIDTH%en DOS Plus.
%_COUNTRY%
Esta pseudovariable devuelve el código de país actual del sistema (" 1".." 65534" ), fe " 1" para EE. UU., " 44" para Reino Unido, " " 49para Alemania, " 20049" con ISO 8601 , " 21049" con ISO 8601 y soporte para el euro . [ 35 ] [ 36 ] Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la CONFIG.SYSdirectiva COUNTRY.
%_DAY%
Esta pseudovariable devuelve los días de la fecha actual sin ceros iniciales, fe " 1".." 31". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la pseudovariable similar .%DAY%
%_HOUR%
Esta pseudovariable devuelve las horas de la hora actual en formato de 24 horas sin ceros iniciales, fe " 0".." 23". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la pseudovariable similar %HOUR24%.
%_MINUTE%
Esta pseudovariable devuelve los minutos de la hora actual sin ceros iniciales, fe " 0".." 59". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la pseudovariable similar %MINUTE%.
%_MONTH%
Esta pseudovariable devuelve los meses de la fecha actual sin ceros iniciales, fe " 1".." 12". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la pseudovariable similar %MONTH%.
%_ROWS%
Esta pseudovariable devuelve el número actual de filas de la pantalla dependiendo del modo de visualización, fe " 25", " 43", " 50", etc. Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también está disponible COMMAND.COMdesde DR-DOS 7.02. Consulte una variable de entorno similar %$LENGTH%en DOS Plus.
%_SECOND%
Esta pseudovariable devuelve los segundos de la hora actual sin ceros iniciales, fe " 0".." 59". Esta variable fue introducida originalmente por 4DOS , [ 12 ] pero también estuvo disponible COMMAND.COMdesde DR-DOS 7.02. Véase también la pseudovariable similar %SECOND%.

Variables de información del sistema compatibles con DR-DOS COMMAND.COMcon la red cargada:

%LOGIN_NAME%
Esta pseudovariable devuelve el nombre de usuario. Esto siempre funcionó con NETX, pero también funcionará con ODI / VLM de Personal NetWare si la unidad actual es una unidad asignada a PNW (de lo contrario, se devuelve una cadena vacía). Consulte también la variable de entorno de nombre similar .%LOGINNAME%
%P_STATION%
Esta pseudovariable devuelve el número de estación física en formato " ????????????". El valor depende de la dirección MAC del adaptador de red, pero puede modificarse. Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%STATION%
Esta pseudovariable devuelve el número de estación lógica que comienza con " 1" para el primer cliente. Los números son asignados por el servidor de archivos y permanecen estáticos mientras la conexión IPX permanezca establecida. Es similar a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .
%FULL_NAME%
Esta pseudovariable devuelve el nombre completo del usuario que ha iniciado sesión, si está disponible. Se asemeja a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Véase también la pseudovariable relacionada %LOGIN_NAME%.

Windows

Las variables de entorno dinámicas (también llamadas variables internas o variables de información del sistema en DOS) son pseudovariables de entorno compatibles con CMD.EXElas extensiones de línea de comandos habilitadas. Estas variables se expanden a distintos valores discretos cada vez que se consultan, es decir, sus valores pueden cambiar al consultarlas varias veces, incluso dentro del mismo comando. Si bien pueden utilizarse en trabajos por lotes y en la línea de comandos, no se almacenan en el entorno. Por consiguiente, no aparecen en la lista SETni están disponibles para que programas externos las lean. No distinguen entre mayúsculas y minúsculas.

Indirectamente, también son compatibles con Windows COMMAND.COM, que ha sido modificado para llamar internamente a la CMD.EXEfunción para ejecutar los comandos.

%CD%
Esta pseudovariable se expande al directorio actual equivalente a la salida del comando CDcuando se llama sin argumentos. Si bien se puede devolver un nombre de archivo largo CMD.EXEdependiendo del directorio actual, el hecho de que el directorio actual siempre estará en formato 8.3COMMAND.COM hará que devuelva un nombre de archivo corto COMMAND.COM, incluso cuando COMMANDinternamente llama a CMD.
%CMDCMDLINE%
Esta pseudovariable se expande a los parámetros de inicio originales de CMD.EXE, fe " C:\Windows\system32\cmd.exe". En Windows COMMAND.COM, esto puede devolver algo como " C:\Windows\system32\cmd.exe /c ..." debido a que COMMAND.COMrealiza llamadas CMD.EXEinternamente.
%CMDEXTVERSION%
Esta pseudovariable se expande a la versión de las extensiones de línea de comandos de CMD.EXE, si están habilitadas (por ejemplo, " 1" en Windows NT , " 2" en Windows 2000 y Windows XP ).
%DATE%
Esta pseudovariable se expande a la fecha actual. La fecha se muestra según las preferencias de formato de fecha del usuario .
%ERRORLEVEL%
Esta pseudovariable se expande al último nivel de error establecido, un valor entre " 0" y " 255" (sin ceros iniciales). [ 32 ] [ 37 ] [ 33 ] Los comandos externos y algunos comandos internos establecen niveles de error al ejecutarse. Véase también la pseudovariable con el mismo nombre %ERRORLEVEL%en DR-DOS y el IF ERRORLEVELcomando.
%HIGHESTNUMANODENUMBER%
Esta pseudovariable devuelve el número del nodo NUMA más alto .
%RANDOM%
Esta pseudovariable devuelve un número aleatorio entre " 0" y " 32767".
%TIME%
Esta pseudovariable devuelve la hora actual. La hora se muestra según las preferencias de formato de hora del usuario. Si se utilizan %TIME%ambas %DATE%variables, es importante leerlas en este orden específico y en rápida sucesión para evitar problemas de desbordamiento de medianoche.

Otras conchas

Los shells tipo Unix tienen variables generadas dinámicamente similares, siendo bash $RANDOMun ejemplo bien conocido. Sin embargo, dado que estos shells tienen el concepto de variables locales, se describen como variables locales especiales. [ 38 ]

Véase también

Notas

  1. 1 2 Las aplicaciones que no manejan correctamente las variables de entorno de más de 128 caracteres incluyen CadStar PCB , Checkit, Computer Select CD-ROM, RenderMan, VINES Network , Windows 3.0 y Word para Windows 6.0 .
  2. 4DOS y MS-DOS 7.0 establecen la longitud en 127 e insertan ASCII-13 en esta posición, pero las bibliotecas de Borland establecen la longitud en el valor no válido de 128 y no insertan un ASCII-13. Para líneas de comando más cortas, 4DOS/ NDOS y DR-DOS también insertan un ASCII-0 después del ASCII-13, pero no cuando se invocan mediante la directiva INSTALL ; MS-DOS no lo hace.

Referencias

  1. Robbins, Arnold; Beebe, Nelson HF (mayo de 2005). Apandi, Tatiana; Randal, Allison; Witwer, Adam (eds.). Classic Shell Scripting (1.ª  ed.). O'Reilly . ISBN 978-0-596-00595-5.
  2. "unset - valores y atributos no definidos de variables y funciones - " . Referencia de comandos y utilidades, Especificación única de UNIX - Especificaciones base de The Open Group, IEEE Std 1003.1-2008 (edición 7 ). The IEEE y The Open Group . 2016 [2001]. Archivado del original el 18-12-2017 . Recuperado el 18-12-2017 .  
  3. fgrose (31-07-2015) [2011]. "El comando integrado unset" . Bash Hackers Wiki . Archivado del original el 18-12-2017 . Recuperado el 18-12-2017 .
  4. "putenv" . php.net . El Grupo de Documentación de PHP. Archivado del original el 09/11/2025 . Recuperado el 30/06/2026 .
  5. "función PHP putenv()" . Documentación de The Raided Foundation . The Raided Foundation. Archivado del original el 31/10/2025 . Consultado el 31/10/2025 .
  6. Jacobs, Mike; Koren, Alexander; Satran, Michael (14 de noviembre de 2017). "Almacenar y recuperar configuraciones y otros datos de la aplicación" . Microsoft . Archivado del original el 18 de diciembre de 2017. Recuperado el 18 de diciembre de 2017 .
  7. Raymond, Eric (2 de agosto de 2002) [Publicado originalmente en 2001]. "El proyecto BROWSER" . Archivado del original el 21 de septiembre de 2019. Consultado el 21 de octubre de 2020 .
  8. "LWN - Desarrollo" . LWN.net . 1 de febrero de 2001. Archivado del original el 8 de febrero de 2019. Consultado el 21 de octubre de 2020. Estandarización de una variable de entorno BROWSER. Eric Raymond promueve el uso de una nueva variable de entorno, BROWSER, para complementar las variables existentes PAGER, MAILER y EDITOR. Este esfuerzo se está probando como un experimento de hackeo de sistemas sociales.
  9. Špaček, Michal (19/01/2020) [Primera versión publicada en 2013]. "Env::Browser-0.06" . metacpan.org . Archivado del original el 21/10/2020 . Consultado el 21/10/2020 . Env::Browser - Procesa la variable de entorno $BROWSER y ejecuta el navegador web.
  10. "webbrowser — Controlador de navegador web conveniente" . docs.python.org . Archivado del original el 13 de octubre de 2020. Consultado el 21 de octubre de 2020 .
  11. "DefaultWebBrowser - Debian Wiki" . wiki.debian.org . 10 de junio de 2020. Archivado del original el 21 de octubre de 2020. Consultado el 21 de octubre de 2020. La variable de entorno BROWSER se puede configurar para [...] elegir siempre el navegador deseado.
  12. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Brothers, Hardin; Rawson, Tom ; Conn, Rex C .; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). Ayuda en línea de 4DOS 8.00 .
  13. ^ Paul , Matthias R. ( 1997-07-30 ) [ 1994-05-01 ] .NWDOS-TIP : consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones . Versión 157 (en alemán) (3 ed.). Archivado desde el original el 4 de noviembre de 2016 . Consultado el 6 de agosto de 2014 .  {{cite book}}: |work=ignorado ( ayuda ) (Nota: NWDOSTIP.TXT es una obra exhaustiva sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y aspectos internos no documentados. El enlace proporcionado apunta a una versión del archivo convertida a HTML, que forma parte de la colección).MPDOSTIP.ZIP
  14. ^ Paul, Matías R. (1 de mayo de 1997 ) [1 de marzo de 1995]. "Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a y NDOS" . MPDOSTIP (en alemán). Archivado desde el original el 4 de noviembre de 2016 . Consultado el 8 de mayo de 2015 .(Nota: El enlace proporcionado apunta a una versión del 4DOS5TIP.TXTarchivo convertida a HTML, que forma parte de la MPDOSTIP.ZIPcolección).
  15. 1 2 Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" . Archivado del original el 4 de octubre de 2003. Recuperado el 29 de marzo de 2009 .
  16. Paul, Matthias R. (1997-05-27) [1996]. "SETENV v1.11" . Archivado del original el 15-02-2009 . Recuperado el 09-08-2019 . [...] SETENV [...] para ocultar y luego restaurar el [...] pre-entorno [...] Al usar SETENV.COM, puede ahorrar algunos kilobytes de memoria DOS poco común [...] dependiendo del número de controladores cargados por INSTALL= / INSTALLHIGH= / HIINSTALL= y el tamaño actual del pre-entorno. [...] esta característica original [...] no se encuentra en ningún administrador/optimizador de memoria conocido. [...]
  17. Paul, Matthias R. (2002-04-06). "Re: [ fd-dev ] ANUNCIO: CuteMouse 2.0 alpha 1" . freedos-dev . Archivado del original el 07-02-2020 . Recuperado el 07-02-2020 . [...] En la rutina prepareTSR de CTMOUSE.ASM encontré un comentario sobre el entorno cero. [...] ¿ DESQview o DRDOS zero-env? [...] liberar el bloque de entorno [...] omitir si hay algún problema [...] relleno cero para utilidades de estilo MEM [...]
  18. "Manual de usuario de PTS-DOS 2000 Pro" (PDF) . Archivado (PDF) del original el 12/05/2018 . Consultado el 12/05/2018 .
  19. Paul, Matthias R. (2002-10-07). "Re: Ejecutar un archivo COM" . Grupo de noticias : alt.msdos.programmer . Recuperado el 2017-09-03 . {{cite newsgroup}}: CS1 maint: servicio de archivado obsoleto ( enlace )Enlace obsoleto archivado el 3 de septiembre de 2017 en archive.today
  20. 1 2 3 4 5 6 Datalight, Inc. ; GPvNO (abril de 2005) [1999]. "Guía del usuario de Datalight ROM-DOS" (PDF) . Datalight, Inc. 3010-0200-0716. Archivado (PDF) del original el 20 de marzo de 2019. Recuperado el 16 de septiembre de 2018 .
  21. 1 2 3 4 5 6 7 8 9 Kotulla, Martin (noviembre de 1987). "Von CP/M zu MS-DOS, Teil 11" (PDF) . Professional Computing (PC) - Schneider International (en alemán). 3 (11): 100– 103. Archivado (PDF) del original el 24 de abril de 2019. Recuperado el 20 de mayo de 2018 .
  22. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Paul, Matthias R. (2002-03-26). "CLS actualizado publicado" . Lista de correo freedos-dev. Archivado del original el 4 de octubre de 2018. Recuperado el 6 de agosto de 2014 .
  23. 1 2 3 4 5 6 7 8 Guía del usuario de Caldera DR-DOS 7.02 . Caldera, Inc. 1998 [1993, 1997]. Archivado del original el 4 de noviembre de 2016. Consultado el 10 de agosto de 2013 .
  24. 1 2 3 4 Paul, Matthias R. (14-08-2017) [07-08-2017]. "La saga continua de Windows 3.1 en modo mejorado en OmniBook 300" . MoHPC - el Museo de Calculadoras HP . Archivado del original el 01-05-2018 . Recuperado el 01-05-2018 . […] establecer DRSYS=ON (opcional para indicarle a SYS que usted es consciente de que lo está ejecutando en un entorno ajeno y que desea continuar de todos modos sin tener que confirmar individualmente algunas advertencias y pantallas de información adicional que se muestran en este escenario) […]
  25. 1 2 3 4 5 6 7 8 9 Documentación en línea de CCI Multiuser DOS 7.22 GOLD . Concurrent Controls, Inc. (CCI). 10 de febrero de 1997. HELP.HLP.
  26. Guía de instalación de CCI Multiuser DOS 7.22 GOLD . Concurrent Controls, Inc. (CCI). 10 de febrero de 1997. PRINTDOC.HLP.
  27. 1 2 3 Paul, Matthias R. (2002-02-20). "¿Cómo detectar FreeCOM/FreeDOS en lote?" . Lista de correo freedos-dev. Archivado del original el 06-11-2018 . Recuperado el 06-08-2014 .
  28. "Variables de entorno reconocidas - Implementación de Windows" . 09/01/2024.
  29. Brink, Shawn (17 de noviembre de 2018). "Variables de entorno en Windows 10: lista completa de variables de entorno en Windows 10" . Foros de Windows Ten . Archivado del original el 27 de marzo de 2019. Consultado el 24 de abril de 2019 .
  30. "Detalles de implementación de WOW64" .
  31. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Schulz, Hajo (2014-10-02). "Ordner für spezielle Fälle — Die "benannten Ordner" in Windows aus User- und Entwicklersicht" [ Carpetas de propósito especial : las "carpetas con nombre" de Windows desde la perspectiva del usuario y del desarrollador ] . c't - magazin für computertechnik (en alemán). 2014 (22). Heise Verlag : 180–184 . Archivado del original el 9 de julio de 2016. Consultado el 8 de abril de 2019 .  
  32. ^ Paul, Matías R. ( 1 de mayo de 1997) [1 de octubre de 1993]. BATTIPs : consejos y trucos para Programmierung von Batchjobs (en alemán). 7: NIVEL DE ERROR aparece. Archivado desde el original el 23 de agosto de 2017 . Consultado el 23 de agosto de 2017 . {{cite book}}: |work=ignorado ( ayuda )Archivado el 23 de abril de 2021 en Wayback Machine .Enlace obsoleto archivado el 11/09/2017 en archive.today (Nota: BATTIPS.TXT forma parte de MPDOSTIP.ZIP. El enlace proporcionado apunta a una versión anterior del archivo BATTIPS.TXT convertida a HTML).
  33. 1 2 3 Auer, Eric; Paul, Matthias R.; Hall, Jim (24-12-2015) [31-12-2003]. "Niveles de error de MS-DOS" . Archivado del original el 24-12-2015.
  34. Paul, Matthias R. (1998-01-09). DELTREE.BAT R1.01 Eliminación extendida de archivos y directorios . Caldera, Inc. Archivado del original el 2019-04-08 . Recuperado el 2019-04-08 .
  35. 1 2 DR-DOS 7.03 WHATSNEW.TXT : cambios de DR-DOS 7.02 a DR-DOS 7.03 . Caldera, Inc. 1998-12-24. Archivado desde el original el 8 de abril de 2019 . Consultado el 8 de abril de 2019 . 
  36. Paul, Matthias R. (10 de junio de 2001) [1995]. "Formato de archivo DOS COUNTRY.SYS" (archivo COUNTRY.LST) ( ed. 1.44). Archivado del original el 20 de abril de 2016. Recuperado el 20 de agosto de 2016 . 
  37. Allen, William; Allen, Linda. "Niveles de error de Windows 95/98/ME" . Archivado del original el 7 de julio de 2011.
  38. "Variables de shell" . Manual de referencia de Bash . Archivado del original el 15 de marzo de 2018. Consultado el 2 de junio de 2021 .

Lecturas adicionales

  • Chen, Raymond (6 de mayo de 2010). "¿Qué son estas extrañas variables de entorno =C:?" . The New Old Thing . Microsoft . Recuperado el 3 de abril de 2025 .
  • environ(7)Entorno de usuario Manual del programador de Linux – Descripción general, convenciones y miscelánea   
  • environ(7) Manual de información miscelánea de FreeBSD 
  • environ(7) Manual de información diversa sobre Darwin y macOS 
  • environ(7) Manual de referencia de estándares, entornos, macros, conjuntos de caracteres y otros aspectos de Solaris 11.4 
  • "Wiki de variables de entorno" . Archivado del original el 27 de abril de 2019.
  • Variables de entorno del usuario
  • Solucionar el error de que no se encuentra setx.exe
Obtenido de " https://en.wikipedia.org/w/index.php?title=Environment_variable&oldid=1361884253#Pseudo-environment_variables "