Una variable de entorno es un valor definible por el usuario que puede afectar la forma en que se comportarán los procesos en ejecución en una computadora. Las variables de entorno son 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 descubrir una ubicación adecuada para almacenar archivos temporales , o la variable HOME o USERPROFILE para encontrar la estructura de directorio que posee el usuario que ejecuta el proceso.
Se introdujeron en su forma moderna en 1979 con la versión 7 de Unix , por lo que se incluyen en todos los sabores y variantes del sistema operativo Unix desde ese momento en adelante, incluidos Linux y macOS . Desde PC DOS 2.0 en 1982, todos los sistemas operativos Microsoft posteriores , incluidos Microsoft Windows y OS/2, también los han incluido como una característica, aunque con una sintaxis, un uso y nombres de variable estándar algo diferentes.
En todos los sistemas Unix y similares a Unix , así como en Windows, cada proceso tiene su propio conjunto independiente de variables de entorno . De forma predeterminada, 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 cuando crea el hijo. A nivel de API , estos cambios deben realizarse entre el proceso en ejecución fork
y el proceso secundario exec
. Alternativamente, desde los shells de comandos como bash , un usuario puede cambiar las variables de entorno para una invocación de comando en particular invocándola indirectamente a través de env
o usando la ENVIRONMENT_VARIABLE=VALUE <command>
notación. Un programa en ejecución puede acceder a los valores de las variables de entorno para fines de configuración.
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 utilizar para almacenar valores temporales para consultarlos más adelante en un script de shell. Sin embargo, en Unix, se prefieren las variables no exportadas para esto, 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 principal y cualquier proceso no relacionado no se verán afectados. De manera similar, cambiar o eliminar el valor de una variable dentro de un archivo por lotes de DOS o Windows cambiará la variable durante la existencia de COMMAND.COM
o CMD.EXE
, respectivamente.
En Unix, las variables de entorno normalmente se inicializan durante el inicio del sistema mediante los scripts de inicio del sistema init y, por lo tanto, son heredadas por todos los demás procesos del sistema. Los usuarios pueden, y a menudo lo hacen, aumentarlas en el script de perfil para el shell 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 configura en el archivo.AUTOEXEC.BAT
En Unix , un programa setuid recibe un entorno elegido por su invocador, pero se ejecuta con una autoridad diferente a la de su invocador. El enlazador dinámico normalmente cargará código desde las ubicaciones especificadas por las variables de entorno $LD_LIBRARY_PATH
y $LD_PRELOAD
lo ejecutará con la autoridad del proceso. Si un programa setuid hiciera esto, sería inseguro, porque su invocador podría hacer que ejecute código arbitrario y, por lo tanto, hacer un mal uso de su autoridad. Por este motivo, libc anula estas variables de entorno al inicio en un proceso setuid. Los programas setuid normalmente anulan las variables de entorno desconocidas y comprueban otras o las establecen 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. La interpretación de los caracteres en cada cadena difiere entre sistemas. Cuando es necesario representar estructuras de datos como listas, es común utilizar una lista delimitada por dos puntos (común en Unix y sistemas similares a Unix) o por punto y coma (común en Windows y DOS).
Las variables se pueden utilizar tanto en scripts como en la línea de comandos . Normalmente se hace referencia a ellas colocando símbolos especiales delante o alrededor del nombre de la variable.
Es habitual que los nombres de las variables de entorno se elijan en mayúsculas. En el código de programación en general, esto ayuda a distinguir las variables de entorno de otros tipos de nombres en el código. Los nombres de las variables de entorno distinguen entre mayúsculas y minúsculas en los sistemas operativos tipo Unix, pero no en DOS, OS/2 y Windows.
En la mayoría de los shells de línea de comandos de Unix y similares , el valor de una variable de entorno se recupera colocando un $
signo antes del nombre de la variable. Si es necesario, el nombre también puede ir entre llaves.
Para mostrar el directorio de inicio del usuario, el usuario puede escribir:
eco $INICIO
En sistemas Unix y similares, los nombres de las variables de entorno distinguen entre mayúsculas y minúsculas.
El comando env
muestra todas las variables de entorno y sus valores. El comando printenv
también se puede utilizar para imprimir una sola variable indicando el nombre de esa variable como único argumento del comando.
En los intérpretes de línea de comandos de DOS, OS/2 y Windows, como COMMAND.COM
y 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 para los nombres de variables de entorno.
La variable de entorno nombrada HOMEDRIVE
contiene la letra de la unidad (más los :
dos puntos finales) del directorio de inicio del usuario, mientras que HOMEPATH
contiene la ruta completa del directorio de inicio del usuario dentro de esa unidad.
Entonces, para ver la unidad y la ruta de inicio, el usuario puede escribir lo siguiente:
ECHO %HOMEDRIVE%%RUTA DE INICIO%
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 utilizar para imprimir todas las variables cuyo nombre comience con un prefijo determinado, dando el prefijo como único argumento del comando.
En Windows PowerShell , el usuario puede escribir cualquiera de los siguientes:
echo $env:homedrive$env:homepath Escritura-Salida $env:homedrive $env:homepath "$env:homedrive$env:homepath"
En PowerShell, no se distingue entre mayúsculas y minúsculas para los nombres de variables de entorno.
El siguiente comando muestra todas las variables de entorno y sus valores:
obtener-elemento-hijo env :
Los comandos env
y set
se pueden utilizar para establecer variables de entorno y a menudo se incorporan directamente al shell.
También se pueden utilizar los siguientes comandos, pero a menudo dependen de un shell determinado.
VARIABLE = valor # (no debe haber espacios alrededor del signo igual)export 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 simples rigen cómo las variables de entorno logran su efecto.
Las variables de entorno son locales para el proceso en el que se establecieron. Si se generan dos procesos de shell y se modifica el valor de una variable de entorno en uno, el otro no verá ese cambio.
Cuando se crea un proceso hijo, hereda todas las variables de entorno y sus valores del proceso padre. Por lo general, cuando un programa llama a otro programa, primero crea un proceso hijo mediante una bifurcación , luego el proceso hijo ajusta el entorno según sea necesario y, por último, se reemplaza a sí mismo con el programa que se va a llamar. Este procedimiento le otorga al programa que realiza la llamada el control sobre el entorno del programa llamado.
En los shells de Unix, las variables se pueden asignar sin la export
palabra clave. Las variables definidas de esta manera se muestran mediante el set
comando, pero no son verdaderas variables de entorno, ya que solo las almacena el shell y son desconocidas para todos los demás procesos. El printenv
comando no las mostrará y los procesos secundarios no las heredarán.
VARIABLE = valor
La sintaxis del prefijo exporta una variable de entorno "verdadera" a un proceso secundario sin afectar al proceso actual: [1]
VARIABLE = valor nombre_programa [argumentos]
La persistencia de una variable de entorno puede ser a nivel de toda la sesión o de todo el sistema.
unset
es un comando incorporado implementado tanto por la familia Bourne shellsh
( , ksh
, bash
, etc.) como por la familia C shell (csh, tcsh, etc.) de shells de línea de comandos de Unix . Desactiva una variable de shell, eliminándola de la memoria y del entorno exportado del shell. Se implementa como un comando incorporado de shell , porque manipula directamente los componentes internos del shell. [2] [3] Las variables de shell de solo lectura no se pueden desactivar. Si uno intenta desactivar una variable de solo lectura, el unset
comando imprimirá un mensaje de error y devolverá un código de salida distinto de cero.
En los intérpretes de línea de comandos de DOS, OS/2 y Windows, como COMMAND.COM
y CMD.EXE
, el SET
comando se utiliza para asignar variables de entorno y valores utilizando los siguientes argumentos:
CONJUNTO VARIABLE = valor
Una variable de entorno se elimina mediante:
ESTABLECER VARIABLE =
El SET
comando sin argumentos muestra todas las variables de entorno junto con sus valores; SET " "
cero o más espacios también incluirán las variables internas. En CMD.EXE
, es posible asignar variables locales que no serán globales mediante el SETLOCAL
comando y ENDLOCAL
restaurar el entorno.
Utilice el interruptor /?
para mostrar la documentación interna , o utilice el visor help
:
COLOCAR /? AYUDA CONJUNTA Establecerlocal /? AYUDA A SETLOCAL
En PowerShell , la asignación sigue una sintaxis similar a Unix:
$env:VARIABLE = "VALOR"
Algunos ejemplos de variables de entorno incluyen:
PATH
: una lista de rutas de directorios. Cuando el usuario escribe un comando sin proporcionar la ruta completa, se verifica esta lista para ver si contiene una ruta que conduzca al comando.HOME
( Similar a Unix ) y (Microsoft Windows): indican dónde se encuentra el directorio de inicioUSERPROFILE
de un usuario en el sistema de archivos .HOME/{.AppName}
( Similar a Unix ) y APPDATA\{DeveloperName\AppName}
(Microsoft Windows): para almacenar configuraciones de aplicaciones. Muchas aplicaciones usan incorrectamente USERPROFILE
para configuraciones de aplicaciones en Windows: USERPROFILE
solo se debe usar en cuadros de diálogo que permitan al usuario elegir entre rutas como Documents/Pictures/Downloads/Music
; para fines programáticos, APPDATA
(para configuraciones de aplicaciones móviles compartidas entre múltiples dispositivos), LOCALAPPDATA
(para configuraciones de aplicaciones locales) o PROGRAMDATA
(para configuraciones de aplicaciones compartidas entre múltiples usuarios del sistema operativo) se debe usar. [4]TERM
( Similar a Unix ): especifica el tipo de terminal de computadora o emulador de terminal que se está utilizando (por ejemplo, vt100
o dumb
).PS1
( Similar a Unix ): especifica cómo se muestra el mensaje en Bourne Shell y variantes.MAIL
( Similar a Unix ): se utiliza para indicar dónde se puede encontrar el correo de un usuario.TEMP
:ubicación donde los procesos pueden almacenar archivos temporales.$PATH
%PATH%
$HOME
getpwuid
y getuid
, $HOME
se utiliza a menudo 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 señalar otro directorio.$PWD
$DISPLAY
$LD_LIBRARY_PATH
exec
, antes de buscar en cualquier otro directorio.$LIBPATH
o$SHLIB_PATH
$LD_LIBRARY_PATH
normalmente se utilizan en versiones anteriores de Unix.$LANG, $LC_ALL, $LC_...
$LANG
se 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 es relevante. 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
/usr/share/zoneinfo
).$BROWSER
%s
Puede haber un token para especificar dónde se debe colocar la URL; de lo contrario, el navegador se debe iniciar con la URL como primer argumento. [5] [6] [7] [8] [9]En DOS, el entorno maestro lo proporciona el procesador de comandos primario, que hereda el entorno previo definido en CONFIG.SYS
cuando se carga por primera vez. Su tamaño se puede configurar a través del COMMAND /E:n
parámetro entre 160 [10] y 32767 [10] bytes. Los segmentos del entorno local heredados a los procesos secundarios se reducen normalmente al tamaño de los contenidos que contienen. Algunos procesadores de línea de comandos (como 4DOS ) permiten definir una cantidad mínima de espacio libre en el entorno que estará disponible al iniciar shells secundarios. [10] Si bien el contenido de las variables de entorno permanece inalterado al almacenarse, sus nombres (sin el " %
") siempre se convierten a mayúsculas, con la excepción de las variables de entorno previas definidas a través de la CONFIG.SYS
directiva SET
en DR DOS 6.0 y versiones posteriores [11] [12] (y solo con SWITCHES=/L
(para "permitir nombres en minúsculas") en DR-DOS 7.02 y versiones posteriores). [10] [13] En principio, MS-DOS 7.0 y superior también admite nombres de variables en minúsculas ( %windir%
), pero no proporciona medios para que el usuario los defina. Los nombres de variables de entorno que contienen letras minúsculas se almacenan en el entorno al igual que las variables de entorno normales, pero permanecen invisibles para la mayoría del software DOS, ya que están escritos para esperar solo variables en mayúsculas. [10] [11] [12] Algunos procesadores de comandos limitan la longitud máxima de un nombre de variable a 80 caracteres. [10] Aunque principalmente solo está limitado por el tamaño del segmento de entorno , algunos programas DOS y Windows de 16 bits [10] [nb 1] no esperan que el contenido de las variables de entorno supere los 128 caracteres. DR-DOS COMMAND.COM
admite variables de entorno de hasta 255, 4DOS incluso hasta 512 caracteres. [10] Dado que COMMAND.COM
se puede configurar (a través de /L:128..1024
) para admitir líneas de comando de hasta 1024 caracteres internamente en MS-DOS 7.0 y superior, se debe esperar 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 SETENV
o (entorno cero), (unidad sustituta, por ejemplo ) y (reubicar el entorno por encima del programa) para minimizar la huella de memoria residente resultante del controlador .INSTALL[HIGH]
LOADHIGH
/Z
/D[:loaddrive]
B:TSR.COM
/E
[14] [13] [11] [15] [16] [17]
En el modo por lotes, las variables de entorno inexistentes se reemplazan por una cadena de longitud cero.
Las variables de entorno estándar o variables de entorno reservadas incluyen:
%APPEND%
(compatible desde DOS 3.3)APPEND /E
comando , 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 [10] caracteres, por lo que es mejor no modificar la variable mediante el SET
comando. Los nombres de archivo largos que contienen 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 [18] )IO.SYS
, IBMBIO.COM
, etc.) la establece con el nombre definido por la CONFIG.SYS
directiva correspondiente MENUITEM
antes de iniciar el procesador de comandos principal. Su propósito principal es permitir casos especiales adicionales en AUTOEXEC.BAT
trabajos por lotes similares según la opción seleccionada en el momento del arranque. Esto se puede emular en DR-DOS utilizando la CONFIG.SYS
directiva SET
como SET CONFIG=1
.%CMDLINE%
(introducido con 4DOS , también compatible desde MS-DOS 7.0 )COMMAND.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..255
para especificar el tamaño del búfer de la línea de comandos), pero, sin embargo, las líneas de comandos internas pueden volverse más largas a través de la expansión de la variable fe (dependiendo de /L:128..1024
para especificar el tamaño del búfer interno). Además del byte de longitud de la línea de comandos en la PSP, la línea de comandos de la PSP normalmente está limitada por ASCII-13 , y las líneas de comandos más largas de 126 caracteres normalmente se truncarán al tener un ASCII-13 insertado en la posición 127, [12] pero no se puede confiar en esto en todos los escenarios. [12] [nb 2] La variable se suprimirá para los 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 residentes que no se reubican y que permanecen en el sistema . 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. [11] [12]%COMSPEC%
(compatible desde DOS 2.0)C:\COMMAND.COM
C:\DOS\COMMAND.COM
CONFIG.SYS
SHELL
%COPYCMD%
(compatible desde MS-DOS 6.2 y PC DOS 6.3 , también compatible con ROM-DOS [18] )/Y
modificador (asumir "Sí" en las consultas) como predeterminado para los comandos COPY
, XCOPY
y . Se puede anular MOVE
un valor predeterminado de proporcionando el modificador en la línea de comandos. El modificador indica al comando que reemplace los archivos existentes sin solicitar confirmación./Y
/-Y
/Y
%DIRCMD%
(compatible desde MS-DOS 5.0 y PC DOS 5.0 , también compatible con ROM-DOS [18] )DIR
comando, incluidas las especificaciones de archivo. Los parámetros predeterminados preestablecidos se pueden anular proporcionando el parámetro negativo en la línea de comandos. Por ejemplo, si %DIRCMD%
contiene el /W
parámetro, se puede anular utilizando DIR /-W
en la línea de comandos. Esto es similar a la variable de entorno %$DIR%
en DOS Plus [19] y una función para definir parámetros predeterminados para DIR
a través de sus parámetros /C
o en DR-DOS . [11] también es compatible con los comandos externos / Stacker en Novell DOS 7 y versiones superiores. [11]/R
COMMAND.COM
%DIRCMD%
SDIR.COM
DIR.COM
%LANG%
(compatible desde MS-DOS 7.0 )%LANGSPEC%
(compatible desde MS-DOS 7.0 )%NO_SEP%
(compatible desde PC DOS 6.3 y DR-DOS 7.07 )SET NO_SEP=ON
o SET NO_SEP=1
en PC DOS. DR-DOS también permite anular el separador de miles del sistema que se muestra como en fe SET NO_SEP=.
. [10]%PATH%
(compatible desde DOS 2.0)$PATH
variable Unix (pero algunas aplicaciones DOS y Windows también usan la lista para buscar archivos de datos de manera similar a $LD_LIBRARY_PATH
los sistemas tipo Unix). Generalmente se cambia mediante el comando PATH
(o PATH /E
en MS-DOS 6.0 ), que también garantiza que los nombres de los directorios se conviertan a mayúsculas. Algunos programas DOS esperan que los nombres se almacenen en mayúsculas y que la longitud de la lista no exceda los 123 [10] caracteres, [nb 1] por lo tanto, es mejor no modificar la variable mediante el SET
comando. [10] Los nombres de archivo largos que contienen espacios u otros caracteres especiales no deben ir entre comillas ( "
). De manera predeterminada, se busca primero en el directorio actual, pero algunos procesadores de línea de comandos como 4DOS permiten que también se incluya " .
" (para "directorio actual") en la lista para anular este orden de búsqueda; algunos programas DOS son incompatibles con esta extensión. [10]%PROMPT%
(compatible desde DOS 2.0)$
cadena con token que define la visualización del mensaje . Normalmente se modifica mediante el PROMPT
comando.%TEMP%
(y %TMP%
)%TEMP%
. Las herramientas del sistema operativo normalmente solo utilizan , mientras que los programas de terceros también utilizan %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%
COMMAND.COM
al iniciar los shells secundarios. [20]%DRDOSCFG%
/ %NWDOSCFG%
/%OPENDOSCFG%
\
" final) donde buscar archivos de configuración .INI
y .CFG
(es decir, archivos específicos de la aplicación DR-DOS como TASKMGR.INI
, TASKMAX.INI
, VIEWMAX.INI
, FASTBACK.CFG
etc., archivos específicos de clase como COLORS.INI
, o archivos globales como DRDOS.INI
, NWDOS.INI
, OPENDOS.INI
, o DOS.INI
), como los que usan los INSTALL
comandos SETUP
y y varios programas DR-DOS como DISKOPT
, DOSBOOK
, EDIT
, FBX
, FILELINK
, LOCK
, SECURITY.OVL
/ NWLOGIN.EXE
, SERNO
, TASKMAX
, TASKMGR
, VIEWMAX
, o UNDELETE
. [11] No debe contener nombres de archivo largos .%DRCOMSPEC%
%COMSPEC%
variable, incluyendo opcionalmente contraseñas de archivos y directorios . Alternativamente, puede contener un valor especial de " " o " " para imponer el uso de la variable incluso en escenarios donde la variable puede apuntar al procesador de línea de comandos incorrecto, por ejemplo, al ejecutar algunas versiones del comando DR-DOS bajo un sistema operativo externo. [22]ON
1
%COMSPEC%
%COMSPEC%
SYS
%DRSYS%
ON
" o " 1
" obligará a algunas versiones del SYS
comando DR-DOS a funcionar en sistemas operativos externos en lugar de mostrar una advertencia. [22]%FBP_USER%
FBX
y los archivos de configuración en Novell DOS 7. [ 11]{user}.FB
%HOMEDIR%
%INFO%
COMMAND.COM
esta variable define la cadena mostrada por el $I
token del PROMPT
comando. [20] Se puede utilizar, por ejemplo, para informar al usuario cómo salir de los shells secundarios.%LOGINNAME%
COMMAND.COM
esta variable define el nombre de usuario que se muestra en el $U
token del PROMPT
comando, tal como lo configuran los scripts de inicio de sesión fe para Novell NetWare . [10] [11] [20] Consulte también la pseudovariable con un nombre similar %LOGIN_NAME%
.%MDOS_EXEC%
ON
" o " OFF
" en DOS multiusuario . Si está habilitada, el sistema operativo permite que las aplicaciones se ejecuten en shells secundarios con el Área de Programa DOS (DPA) liberada para tener la máxima memoria DOS disponible para aplicaciones secundarias en lugar de ejecutarlas en el mismo dominio que en DOS. [23] [24]%NOCHAR%
[Y,N]
las consultas, anulando así el valor predeterminado actual 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úsculas. Algunos comandos también admiten un parámetro de línea de comandos /Y
para asumir automáticamente "Sí" en las consultas, suprimiendo así dichos mensajes. Sin embargo, si el parámetro /Y:yn
se utiliza para especificar los caracteres "Sí"/"No" (anulando así cualquier configuración), las consultas no se suprimen. Consulte también la directiva %NOCHAR%
relacionada y la variable de entorno . [22]CONFIG.SYS
NOCHAR
%YESCHAR%
%NOSOUND%
ON
" o " 1
", se desactivarán los pitidos predeterminados emitidos por algunos comandos 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 presionó una tecla incorrecta. Las opciones de la línea de comandos para habilitar específicamente determinados pitidos anularán esta configuración.%OS%
DOSPLUS
" ( DOS Plus 1.2 en emulación de DOS), " CPCDOS 4.1
" (DOS Plus 1.2 en emulación CP/M ), " DRDOS
" ( DR DOS 3.31 - 6.0 , DR DOS Panther , DR DOS StarTrek , DR-DOS 7.02 [21] - 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 XM concurrente ), " CPCDOS
" ( DOS de PC concurrente ), " CDOS386
" ( DOS concurrente 386 ), " DRMDOS
" ( DOS multiusuario DR ), " MDOS
" ( DOS multiusuario CCI ), [23] " IMSMDOS
" ( IMS DOS multiusuario ), " REAL32
" ( REAL/32 ). [11] [25] MS-DOS también INTERSVR
busca un valor de " ". [25] Véase también la variable de entorno con el mismo nombre introducida posteriormente en la familia Windows NT .DRDOS
%OS%
%PEXEC%
$X
token del PROMPT
comando antes de COMMAND.COM
mostrar el mensaje de aviso después de regresar de la ejecución de un programa externo. [11] [21]%SWITCHAR%
/
" (estilo DOS), " -
" (estilo Unix) y " [
" (estilo CP/M). Consulte también la CONFIG.SYS
directiva relacionada SWITCHAR
(para establecer la configuración de SwitChar del sistema) y la %/%
variable de información del sistema en algunas ediciones de DR-DOS COMMAND.COM
(para recuperar la configuración actual para trabajos por lotes portables).%TASKMGRWINDIR%
SYSTEM.INI
que utilizará el multitarea DR-DOS , anulando el procedimiento predeterminado para localizar el archivo. [11]TASKMGR
%VER%
VER
comando. [21] También se utiliza para el $V
token del PROMPT
comando 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
" ( Concurrent DOS 386 2.0 ), " 3.0
" ( Concurrent DOS 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 DOS concurrente 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 concurrente) XM 6.0 , DR DOS 6.0 ), " 6.2
" ( DR Concurrent DOS XM 6.2 ), " 7
" ( Novel 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 ), [23] " 7.22
" ( CCI Multiusuario DOS 7.22 ), etc. [11] [25] [23]%YESCHAR%
[Y,N]
las consultas, anulando así el valor predeterminado actual 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úsculas. Algunos comandos también admiten un parámetro de línea de comandos /Y
para asumir automáticamente "Sí" en las consultas, suprimiendo así dichos mensajes. Sin embargo, si el parámetro /Y:y
se utiliza para especificar el carácter "Sí" (anulando así cualquier %YESCHAR%
configuración), las consultas no se suprimen. Consulte también la CONFIG.SYS
directiva relacionada YESCHAR
y la variable de entorno %NOCHAR%
. [22]%$CLS%
CLS
se emita el comando, anulando así el valor predeterminado interno (" ←[2J
" en DR-DOS, " ←E
" en DOS Plus 1.2 en máquinas Amstrad [19] así como en Concurrent DOS , Multiuser DOS y REAL/32 para terminales VT52 , o " ←+
" en Multiuser DOS para terminales ASCII ). [23] Si la variable no está definida y no ANSI.SYS
se detecta ningún controlador de consola, el DR-DOS COMMAND.COM
limpiará directamente la pantalla a través de la función INT 10h/AH=00h
BIOS , como lo hace MS-DOS/PC DOS COMMAND.COM
. Se admite una \nnn
notació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í, se puede duplicar " \\
". [11] [20] [23]%$DIR%
/L
o /W
. [20] [19] Véase también la variable de entorno similar %DIRCMD%
y las DIR
opciones /C
y /R
de DR-DOS COMMAND.COM. [11]%$PAGE%
ON
" o " OFF
" para el control de paginación. Establecerlo en " ON
" tiene el mismo efecto que agregarlo /P
a comandos que lo admitan (como DIR o TYPE ). [20] [19]%$LENGTH%
/P
opción admitida por varios comandos o con paginación automática. [20] [19] Véase también las variables de entorno relacionadas %$WIDTH%
y %DIRSIZE%
así como la pseudovariable similar %_ROWS%
.%$WIDTH%
DIR /W
o TYPE filename
. [20] [19] Véase también las variables de entorno relacionadas %$LENGTH%
y %DIRSIZE%
así como la pseudovariable similar %_COLUMNS%
.%$SLICE%
SLICE
.%$ON%
TYPE wildcard
, por ejemplo, SET $ON=\033[1m
con ANSI.SYS cargado o SET $ON=\016
para una impresora IBM o ESC/P . Para la \nnn
notación octal especial admitida, consulte %$CLS%
. [11] [19] Si bien la variable no está definida de forma predeterminada en DOS Plus y DR-DOS, el valor predeterminado de DOS multiusuario para una terminal ASCII es igual a SET $ON=\033p
. [20] [23] Consulte también la variable de entorno relacionada %$OFF%
.%$OFF%
TYPE wildcard
, por ejemplo, SET $OFF=\033[0m
con ANSI.SYS cargado o SET $OFF=\024
para una impresora IBM o ESC/P . Para la \nnn
notación octal especial admitida, consulte %$CLS%
. [11] [19] Si bien la variable no está definida de manera predeterminada en DOS Plus y DR-DOS, el valor predeterminado de DOS multiusuario para una terminal ASCIISET $OFF=\033q
es igual a . [20] [23] Consulte también la variable de entorno relacionada %$ON%
.%$HEADER%
TYPE
en DR-DOS 7.02 y superiores. Se puede utilizar para resaltar, paginar o formatear, por ejemplo, al enviar la salida a una impresora, es decir, para una impresora SET $HEADER=\017
IBM o ESC/P\nnn
. Para la notación octal especial admitida, consulte %$CLS%
. [20] Consulte también la variable de entorno relacionada %$FOOTER%
.%$FOOTER%
TYPE
en DR-DOS 7.02 y superiores. Se utiliza para volver al formato de salida normal, es decir, SET $FOOTER=\022\014
en el ejemplo de impresora anterior. Para la notación octal especial \nnn
compatible, consulte %$CLS%
. [20] 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%
rows[,cols]
para DIR
opciones /P
y /W
(similar a %$LENGTH%
y %$WIDTH%
bajo DOS Plus). [18]%NEWFILE%
%TZ%
, %COMM%
, %SOCKETS%
, %HTTP_DIR%
, %HOSTNAME%
y %FTPDIR%
también son utilizados por ROM-DOS. [18]
%BEGINLIBPATH%
%LIBPATH%
variable (que se establece durante el inicio del sistema con la directiva especial CONFIG.SYSLIBPATH
). Aquí es posible especificar directorios relativos, incluido " .
" para el directorio de trabajo actual. Consulte también la variable de entorno relacionada %ENDLIBPATH%
.%ENDLIBPATH%
%BEGINLIBPATH%
, pero se buscará después de la lista de directorios en %LIBPATH%
.Estas variables de entorno se refieren a ubicaciones de recursos críticos del sistema operativo y, como tales, generalmente no dependen del usuario. [26]
%APPDATA%
%LOCALAPPDATA%
%ComSpec%
/%COMSPEC%
%ComSpec%
variable contiene la ruta completa al procesador de comandos; en la familia de sistemas operativos Windows NT, es cmd.exe , mientras que en Windows 9x , %COMSPEC%
es COMMAND.COM .%OS%
%OS%
variable contiene un nombre simbólico de la familia del sistema operativo para distinguir entre diferentes conjuntos de características en los trabajos por lotes . Se parece 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 . [27]%PATH%
%PATH%
variable, pero solo en un nivel de indirección. Si esta variable de entorno de subruta contiene una variable de entorno que representa una ruta, %PATH%
no se expandirá correctamente en la sustitución de la variable. Equivalente a la variable Unix . $PATH
%PROCESSOR_ARCHITECTURE%
, %PROCESSOR_ARCHITEW6432%
, %PROCESSOR_IDENTIFIER%
, %PROCESSOR_LEVEL%
,%PROCESSOR_REVISION%
%PUBLIC%
%PUBLIC%
variable (introducida con Vista) apunta al directorio de perfil de usuario público (pseudo) " C:\Users\Public
".%ProgramFiles%
, %ProgramFiles(x86)%
,%ProgramW6432%
%ProgramFiles%
variable apunta al directorio Archivos de programa , que almacena todos los programas instalados de Windows y otros. El valor predeterminado en los sistemas en idioma inglés es " C:\Program Files
". En las ediciones de 64 bits de Windows (XP, 2003, Vista), también hay %ProgramFiles(x86)%
, que tiene como valor predeterminado " C:\Program Files (x86)
", y %ProgramW6432%
, que tiene como valor predeterminado " C:\Program Files
". La %ProgramFiles%
variable en sí depende de si el proceso que solicita la variable de entorno es de 32 bits o de 64 bits (esto se debe a la redirección de 64 bits de Windows sobre Windows [28] ).%CommonProgramFiles%
, %CommonProgramFiles(x86)%
,%CommonProgramW6432%
C:\Program Files\Common Files
". En las ediciones de 64 bits de Windows (XP, 2003, Vista), también hay %ProgramFiles(x86)%
, cuyo valor predeterminado es " C:\Program Files (x86)
", y %ProgramW6432%
, cuyo valor predeterminado es " C:\Program Files
". La %ProgramFiles%
variable en sí depende de si el proceso que solicita la variable de entorno es de 32 bits o de 64 bits (esto se debe a la redirección de 64 bits de Windows sobre Windows ).%OneDrive%
%OneDrive%
variable es una variable de entorno especial para todo el sistema que se encuentra en Windows NT y sus derivados. Su valor es la ruta donde se encuentra (si está instalado y configurado) el directorio de OneDrive. El valor de %OneDrive%
es en la mayoría de los casos " C:\Users\{Username}\OneDrive\
".%SystemDrive%
%SystemDrive%
variable es una variable de entorno especial para todo el 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%
%SystemRoot%
variable es una variable de entorno especial para todo el sistema que se encuentra en la familia de sistemas operativos Windows NT. Su valor es la ubicación del directorio del sistema, incluida la unidad y la ruta. La unidad es la misma que la del sistema operativo %SystemDrive%
y la ruta predeterminada en una instalación limpia depende de la versión del sistema operativo. De forma predeterminada:\WINDOWS
".\WINNT
".\WINNT35
".\WTSRV
".%windir%
%SystemRoot%
variable ). Windows 95 – 98 y Windows ME se instalan, de forma predeterminada, en " C:\Windows
". Para otras versiones de Windows, consulte la %SystemRoot%
entrada anterior.Las variables de gestión de usuarios [ cita requerida ] almacenan información relacionada con los recursos y las configuraciones que poseen los distintos perfiles de usuario dentro del sistema. Como regla general, estas variables no hacen referencia a recursos críticos del sistema ni a ubicaciones que sean necesarias para que el sistema operativo se ejecute.
%ALLUSERSPROFILE%
( %PROGRAMDATA%
desde Windows Vista)%USERDOMAIN%
%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 los equipos domésticos y los equipos de un grupo de trabajo, el servidor de autenticación suele ser el propio equipo. En el caso de los equipos de un dominio de Windows, el servidor de autenticación es un controlador de dominio (un controlador de dominio principal o PDC, en los dominios basados en Windows NT 4).%USERPROFILE%
NTUSER
). Los usuarios también pueden utilizar la %USERNAME%
variable para determinar la identificación de inicio de sesión de los usuarios activos.Las variables de sistema opcionales [ cita requerida ] no se especifican explícitamente de manera predeterminada, pero se pueden usar para modificar el comportamiento predeterminado de ciertos comandos de consola integrados. Estas variables tampoco necesitan especificarse explícitamente como argumentos de la línea de comandos.
Las siguientes tablas muestran valores predeterminados típicos de ciertas variables de entorno en versiones en inglés de Windows tal como se pueden recuperar en CMD
.
(Algunas de estas variables también se definen cuando se ejecutan COMMAND.COM
en Windows, pero difieren en ciertos detalles importantes: en COMMAND.COM
, los nombres de las variables de entorno siempre están en mayúsculas. Algunas, pero no todas las variables, contienen nombres de archivo cortos 8.3 en lugar de largos . Si bien faltan algunas variables presentes en el CMD
entorno, también hay algunas variables específicas del COMMAND
entorno).
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 configurar el directorio de inicio de un programa como el directorio Mis documentos .
Los procesadores de comandos de DOS y Windows también admiten variables de pseudoentorno. 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.
Además de las variables de entorno reales, que se almacenan estáticamente en el entorno hasta que se modifican o eliminan, existen varias variables de entorno pseudo-ambientales para el procesamiento por lotes.
Los llamados 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) [21] o parámetros de archivo por lotes (terminología de JP Software) [10] %1
... %9
se %0
pueden utilizar para recuperar los parámetros de llamada de un trabajo por lotes, consulte SHIFT
. En los trabajos por lotes, se pueden recuperar al igual que las variables de entorno, pero en realidad no se almacenan en el entorno.
Algunos procesadores de línea de comandos (como DR-DOS COMMAND.COM
, [21] Multiuser DOS MDOS.COM
/ TMP.EXE
(Terminal Message Process), JP Software 4DOS , 4OS2 , 4NT , Take Command y Windows cmd.exe ) admiten un tipo de variables de pseudoentorno llamadas variables de información del sistema (terminología de Novell / Caldera) [21] o variables internas (terminología de JP Software), [10] que se pueden usar para recuperar información variada, 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 un efecto directo en el sistema. Dado que no se almacenan en el entorno, no se enumeran por SET y no existen para que los recuperen programas externos. Si se define una variable de entorno verdadera del mismo nombre, tiene prioridad sobre la variable correspondiente hasta que la variable de entorno se elimine nuevamente. No distinguen entre mayúsculas y minúsculas. Si bien casi todas estas variables tienen como prefijo un guión bajo (" _
") en 4DOS, etc., por convención (fe %_SECOND%
), [10] no lo tienen en DR-DOS COMMAND.COM
(fe %OS_VERSION%
).
Además, 4DOS, 4OS2, 4NT y Take Command también admiten las llamadas funciones variables [10] , 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 según su función.
Variables de información del sistema compatibles con DR-DOS COMMAND.COM
:
%AM_PM%
am
" o " " en la versión en inglés. Se parece a una variable de identificadorpm
con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%DAY%
01
".." 31
". Consulte también la pseudovariable similar %_DAY%
. Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%DAY_OF_WEEK%
Sun
", " Mon
" Tue
, " Wed
", " Thu
", " Fri
", o " Sat
" en la versión en inglés. Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%ERRORLEVEL%
COMMAND.COM
DR-DOS 7.02 y versiones superiores, esta pseudovariable devuelve el último nivel de error devuelto por un programa externo o el RETURN
comando, p. ej., " 0
".." 255
". [30] [31] Consulte también la pseudovariable con el mismo nombre %ERRORLEVEL%
en Windows y el IF ERRORLEVEL
comando condicional.%ERRORLVL%
000
".." 255
". [30] [31] En DOS multiusuario , esta es una verdadera variable de entorno que el shell actualiza automáticamente con el código de retorno de los programas que salen. [23] Consulte también la pseudovariable relacionada %ERRORLEVEL%
en DR-DOS y el IF ERRORLEVEL
comando.%GREETING_TIME%
morning
", " afternoon
" o " " en la versión en inglés. Se parece a una variable de identificadorevening
con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%HOUR%
1
".." 12
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%HOUR24%
00
.." 23
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Consulte también la pseudovariable similar %_HOUR%
.%MINUTE%
00
".." 59
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Consulte también la pseudovariable similar %_MINUTE%
.%MONTH%
01
".." 12
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Consulte también la pseudovariable similar %_MONTH%
.%MONTH_NAME%
January
" February
, " " March
, " April
" May
, " ", " June
", July
" " , " " August
, " September
" October
, o " " en la versión en inglés. Se parece a una variable de identificadorDecember
con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%NDAY_OF_WEEK%
1
".." 7
" (con " 1
" para el domingo). Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%OS_VERSION%
%VER%
. Si %VER%
no está definida, %OS_VERSION%
devuelve " off
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare , que puede devolver versiones también para versiones de DOS que no sean DR-DOS.%SECOND%
00
".." 59
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare . Consulte también la pseudovariable similar %_SECOND%
.%SHORT_YEAR%
93
".." 99
", " 00
".." 92
". Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%YEAR%
y%_YEAR%
%YEAR%
pseudovariable devuelve el año de la fecha actual en un formato de 4 dígitos, p. ej., " 1980
".." 2099
". Se parece 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 se agregaron %_YEAR%
para compatibilidad con 4DOS , devolviendo el mismo valor. [10]%/%
COMMAND.COM
DR-DOS 7.02 y versiones posteriores, esta pseudovariable devuelve la configuración actual de SwitChar del sistema, ya sea " /
" (estilo DOS) o " -
" (estilo Unix). [32] [33]CONFIG.SYS
Consulte también la directiva relacionada SWITCHAR y la variable de entorno %SWITCHAR%
.%_CODEPAGE%
1
".." 65533
"), por ejemplo " 437
", " 850
", " 858
". Esta variable fue introducida originalmente por 4DOS , [10] pero también estuvo disponible COMMAND.COM
desde DR-DOS 7.02. Vea también el CHCP
comando.%_COLUMNS%
40
, " ", " 80
", " 132
", etc. Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Consulte también una variable de entorno similar %$WIDTH%
en DOS Plus.%_COUNTRY%
1
".." 65534
"), p. ej. " 1
" para EE. UU., " 44
" para el Reino Unido, " 49
" para Alemania, " 20049
" con ISO 8601 , " 21049
" con ISO 8601 y compatibilidad con Europa . [33] [34] Esta variable fue introducida originalmente por 4DOS , [10] pero también estuvo disponible COMMAND.COM
desde DR-DOS 7.02. Consulte también la CONFIG.SYS
directiva COUNTRY
.%_DAY%
1
".. 31
" Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Véase también la pseudovariable similar %DAY%
.%_HOUR%
0
".. 23
" Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Véase también la pseudovariable similar %HOUR24%
.%_MINUTE%
0
".. 59
" Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Véase también la pseudovariable similar %MINUTE%
.%_MONTH%
1
".. 12
" Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Véase también la pseudovariable similar %MONTH%
.%_ROWS%
25
, " ", " 43
", " 50
", etc. Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Consulte una variable de entorno similar %$LENGTH%
en DOS Plus.%_SECOND%
0
".. 59
" Esta variable fue introducida originalmente por 4DOS , [10] pero también se hizo disponible COMMAND.COM
a partir de DR-DOS 7.02. Véase también la pseudovariable similar %SECOND%
.Variables de información del sistema compatibles con DR-DOS COMMAND.COM
con la red cargada:
%LOGIN_NAME%
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 con nombre similar .%LOGINNAME%
%P_STATION%
????????????
". El valor depende de la dirección MAC del adaptador de red, pero se puede anular. Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%STATION%
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. Se parece a una variable de identificador con el mismo nombre en los scripts de inicio de sesión de Novell NetWare .%FULL_NAME%
%LOGIN_NAME%
.Las variables de entorno dinámicas (también llamadas variables internas o variables de información del sistema en DOS) son variables de entorno pseudocompatibles CMD.EXE
cuando se habilitan las extensiones de línea de comandos y se expanden a varios valores discretos cuando se las consulta, es decir, sus valores pueden cambiar cuando se las consulta varias veces incluso dentro del mismo comando. Si bien se pueden usar en trabajos por lotes y en el indicador, no se almacenan en el entorno. En consecuencia, no se enumeran SET
ni existen para que los lean programas externos. No distinguen entre mayúsculas y minúsculas.
Indirectamente, también son compatibles con Windows COMMAND.COM
, que ha sido modificado para llamar internamente CMD.EXE
para ejecutar los comandos.
%CD%
CD
cuando se llama sin argumentos. Si bien se puede devolver un nombre de archivo largo en CMD.EXE
función del directorio actual, el hecho de que el directorio actual siempre esté en formato 8.3COMMAND.COM
en hará que devuelva un nombre de archivo corto en COMMAND.COM
, incluso cuando COMMAND
se llama internamente a CMD
.%CMDCMDLINE%
CMD.EXE
, por ejemplo " C:\Windows\system32\cmd.exe
". En Windows COMMAND.COM
, esto puede devolver algo como " C:\Windows\system32\cmd.exe /c ...
" debido al hecho de que COMMAND.COM
las llamadas se realizan CMD.EXE
internamente.%CMDEXTVERSION%
CMD.EXE
, si está habilitada (por ejemplo, " 1
" en Windows NT , " 2
" en Windows 2000 y Windows XP ).%DATE%
%ERRORLEVEL%
0
" y " 255
" (sin ceros a la izquierda). [30] [35] [31] Los comandos externos y algunos comandos internos establecen niveles de error al ejecutarse. Consulte también la pseudovariable con el mismo nombre %ERRORLEVEL%
en DR-DOS y el IF ERRORLEVEL
comando.%HIGHESTNUMANODENUMBER%
%RANDOM%
0
" y " 32767
".%TIME%
%TIME%
y %DATE%
, es importante leerlas en este orden particular y en rápida sucesión para evitar problemas de cambio de hora a medianoche.Los shells similares a Unix tienen variables generadas dinámicamente similares, siendo bash $RANDOM
un ejemplo bien conocido. Sin embargo, dado que estos shells tienen un concepto de variables locales, se describen como variables locales especiales. [36]
Estandarización de una variable de entorno BROWSER. Eric Raymond está promoviendo el uso de una nueva variable de entorno, BROWSER, para complementar las variables PAGER, MAILER y EDITOR existentes. Este esfuerzo se está probando como un experimento de piratería de sistemas sociales.
Env::Browser - Procesar la variable de entorno $BROWSER y ejecutar el navegador web
La variable de entorno BROWSER se puede configurar para que siempre elija el navegador que desee.
{{cite book}}
: |work=
ignorado ( ayuda ) (NB. NWDOSTIP.TXT es un trabajo exhaustivo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y componentes internos no documentados. El enlace proporcionado apunta a una versión convertida a HTML del archivo, que es parte de la MPDOSTIP.ZIP
colección). [1]4DOS5TIP.TXT
archivo, que es parte de la MPDOSTIP.ZIP
colección). [2][…] SETENV […] para ocultar y restaurar posteriormente el […] entorno previo […] Al usar SETENV.COM puede ahorrar algunos KiloBytes de memoria DOS poco común […] dependiendo de la cantidad de controladores cargados por
INSTALL=
/
INSTALLHIGH=
/
HIINSTALL=
y el tamaño actual del entorno previo. […] esta característica original […] no se puede encontrar en ningún administrador/optimizador de memoria conocido. […]
[…] En la rutina prepareTSR de CTMOUSE.ASM encontré un comentario con respecto al entorno cero. […]
¿DESQview
o entorno cero
de DRDOS
? […] bloque de entorno de lanzamiento […] omitir si hay algún problema […] relleno cero para
utilidades de estilo
MEM […]
[…] set DRSYS=ON (opcional para indicarle a SYS que está al tanto del hecho de que lo está ejecutando en un entorno ajeno y desea continuar de todos modos sin tener que confirmar individualmente algunas advertencias y pantallas de información adicional que se muestran en este escenario de otra manera) […]
{{cite book}}
: |work=
ignorado ( ayuda ) [5] [6] Archivado el 11 de septiembre de 2017 en archive.today (NB. BATTIPS.TXT es parte de MPDOSTIP.ZIP. El enlace provisto apunta a una versión anterior convertida a HTML del archivo BATTIPS.TXT). [7]