HOME

TheInfoList



OR:

An environment variable is a dynamic-named
value Value or values may refer to: Ethics and social * Value (ethics) wherein said concept may be construed as treating actions themselves as abstract objects, associating value to them ** Values (Western philosophy) expands the notion of value beyo ...
that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store
temporary file A temporary file is a file created to store information temporarily, either for a program's intermediate use or for transfer to a permanent file when complete. It may be created by computer programs for a variety of purposes, such as when a program ...
s, or the HOME or USERPROFILE variable to find the
directory structure In computing, a directory structure is the way an operating system arranges Computer file, files that are accessible to the user. Files are typically displayed in a hierarchical tree structure. File names and extensions A filename is a string use ...
owned by the user running the process. They were introduced in their modern form in 1979 with
Version 7 Unix Seventh Edition Unix, also called Version 7 Unix, Version 7 or just V7, was an important early release of the Unix operating system. V7, released in 1979, was the last Bell Laboratories release to see widespread distribution before the commercial ...
, so are included in all
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
flavors and variants from that point onward including
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. From PC DOS 2.0 in 1982, all succeeding
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
operating systems, including
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
, and
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
also have included them as a feature, although with somewhat different syntax, usage and standard variable names.


Design

In all
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
and
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems, as well as on Windows, each process has its own separate set of environment
variable Variable may refer to: * Variable (computer science), a symbolic name associated with a value and whose associated value may be changed * Variable (mathematics), a symbol that represents a quantity in a mathematical expression, as used in many ...
s. By default, when a process is created, it inherits a duplicate run-time environment of its parent process, except for explicit changes made by the parent when it creates the child. At the
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
level, these changes must be done between running fork and exec. Alternatively, from
command shell In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending ...
s such as
bash Bash or BASH may refer to: Arts and entertainment * ''Bash!'' (Rockapella album), 1992 * ''Bash!'' (Dave Bailey album), 1961 * '' Bash: Latter-Day Plays'', a dramatic triptych * ''BASH!'' (role-playing game), a 2005 superhero game * "Bash" ('' ...
, a user can change environment variables for a particular command invocation by indirectly invoking it via env or using the ENVIRONMENT_VARIABLE=VALUE <command> notation. A running program can access the values of environment variables for configuration purposes.
Shell script A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manip ...
s and batch files use environment variables to communicate data and preferences to
child process A child process in computing is a process created by another process (the parent process). This technique pertains to multitasking operating systems, and is sometimes called a subprocess or traditionally a subtask. There are two major procedures ...
es. They can also be used to store temporary values for reference later in a shell script. However, in Unix, non-exported variables are preferred for this as they don't leak outside the process. In Unix, an environment variable that is changed in a script or compiled program will only affect that process and possibly child processes. The parent process and any unrelated processes will not be affected. Similarly, changing or removing a variable's value inside a
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
or Windows batch file will change the variable for the duration of
COMMAND.COM COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot (init proc ...
or
CMD.EXE Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
's existence, respectively. In Unix, the environment variables are normally initialized during system startup by the system
init In Unix-based computer operating systems, init (short for ''initialization'') is the first process started during booting of the computer system. Init is a daemon process that continues running until the system is shut down. It is the direct ...
startup script In Unix-based computer operating systems, init (short for ''initialization'') is the first process started during booting of the computer system. Init is a daemon process that continues running until the system is shut down. It is the dire ...
s, and hence inherited by all other processes in the system. Users can, and often do, augment them in the profile script for the command shell they are using. In Microsoft Windows, each environment variable's default value is stored in the
Windows Registry The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and use ...
or set in the
AUTOEXEC.BAT AUTOEXEC.BAT is a system file that was originally on DOS-type operating systems. It is a plain-text batch file in the root directory of the boot device. The name of the file is an abbreviation of "automatic execution", which describes its funct ...
file. On
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
, a
setuid The Unix access rights flags setuid and setgid (short for ''set user identity'' and ''set group identity'') allow users to run an executable with the file system permissions of the executable's owner or group respectively and to change behaviour ...
program is given an environment chosen by its caller, but it runs with different authority from its caller. The
dynamic linker In computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at "run time"), by copying the content of libraries from persistent storage to RAM, filling ...
will usually load code from locations specified by the environment variables $LD_LIBRARY_PATH and $LD_PRELOAD and run it with the process's authority. If a setuid program did this, it would be insecure, because its caller could get it to run arbitrary code and hence misuse its authority. For this reason,
libc The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard.ISO/IEC (2018). '' ISO/IEC 9899:2018(E): Programming Languages - C §7'' Starting from the original ANSI C standard, it was ...
unsets these environment variables at startup in a setuid process. setuid programs usually unset unknown environment variables and check others or set them to reasonable values. In general, the collection of environment variables function as an
associative array In computer science, an associative array, map, symbol table, or dictionary is an abstract data type that stores a collection of (key, value) pairs, such that each possible key appears at most once in the collection. In mathematical terms an ...
where both the keys and values are strings. The interpretation of characters in either string differs among systems. When data structures such as lists need to be represented, it is common to use a colon (common on Unix and Unix-like) or semicolon-deliminated (common on Windows and DOS) list.


Syntax

The variables can be used both in scripts and on the
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. They are usually referenced by putting special symbols in front of or around the variable name. It is conventional for environment variable names to be chosen to be in all upper case. In programming code generally, this helps to distinguish environment variables from other kinds of names in the code. On Unix-like operating systems, environment variable names are case sensitive, but they are not on DOS, OS/2, and Windows.


Unix

In most Unix and Unix-like command-line shells, an environment variable's value is retrieved by placing a $ sign before the variable's name. If necessary, the name can also be surrounded by braces. To display the user home directory, the user may type: echo $HOME If xyz needed to be appended to the value of the HOME variable, one might type: echo $xyz In Unix and Unix-like systems, the names of environment variables are case-sensitive. The command env displays all environment variables and their values. The command printenv can also be used to print a single variable by giving that variable name as the sole argument to the command.


DOS, OS/2 and Windows

In DOS, OS/2 and Windows command-line interpreters such as COMMAND.COM and CMD.EXE, an environment variable is retrieved by placing a % sign before and after it. In DOS, OS/2 and Windows command-line interpreters as well as their
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
, upper or lower case is not distinguished for environment variable names. The environment variable named HOMEDRIVE contains the drive letter (plus its trailing : colon) of the user's home directory, whilst HOMEPATH contains the full path of the user's home directory within that drive. So to see the home drive and path, the user may type this: ECHO %HOMEDRIVE%%HOMEPATH% The command SET (with no arguments) displays all environment variables and their values. set can also be used to print all variables whose name begins with a given prefix by giving the prefix as the sole argument to the command. In
Windows PowerShell PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-so ...
, the user may type any of the following: echo $env:homedrive$env:homepath Write-Output $env:homedrive$env:homepath "$env:homedrive$env:homepath" In PowerShell, upper or lower case is not distinguished for environment variable names. The following command displays all environment variables and their values: get-childitem env:


Assignment: Unix

The commands env and set can be used to set environment variables and are often incorporated directly into the shell. The following commands can also be used, but are often dependent on a certain shell. ''VARIABLE''=''value'' # export ''VARIABLE'' # for
Bourne Bourne may refer to: Places UK * Bourne, Lincolnshire, a town ** Bourne Abbey ** Bourne railway station * Bourne (electoral division), West Sussex * Bourne SSSI, Avon, a Site of Special Scientific Interest near Burrington, North Somerset * Bourne ...
and related shells export ''VARIABLE''=''value'' # for ksh,
bash Bash or BASH may refer to: Arts and entertainment * ''Bash!'' (Rockapella album), 1992 * ''Bash!'' (Dave Bailey album), 1961 * '' Bash: Latter-Day Plays'', a dramatic triptych * ''BASH!'' (role-playing game), a 2005 superhero game * "Bash" ('' ...
, and related shells setenv ''VARIABLE'' ''value'' # for csh and related shells A few simple principles govern how environment variables achieve their effect. Environment variables are local to the process in which they were set. If two shell processes are spawned and the value of an environment variable is changed in one, that change will not be seen by the other. When a child process is created, it inherits all the environment variables and their values from the parent process. Usually, when a program calls another program, it first creates a child process by
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ei ...
ing, then the child adjusts the environment as needed and lastly the child replaces itself with the program to be called. This procedure gives the calling program control over the environment of the called program. In Unix shells, variables may be assigned without the export keyword. Variables defined in this way are displayed by the set command, but are not true environment variables, as they are stored only by the shell and are unknown to all other processes. The printenv command will not display them, and child processes do not inherit them. ''VARIABLE''=''value'' The prefix syntax exports a "true" environment variable to a child process without affecting the current process: ''VARIABLE''=''value'' program_name rguments The persistence of an environment variable can be session-wide or system-wide. unset is a builtin command implemented by both the
Bourne shell The Bourne shell (sh) is a Shell (computing), shell Command-line interface#Command-line interpreter, command-line interpreter for computer operating systems. The Bourne shell was the default Unix shell, shell for Version 7 Unix. Unix-like syste ...
family (sh, ksh, bash, etc.) and the
C shell The C shell (csh or the improved version, tcsh) is a Unix shell created by Bill Joy while he was a graduate student at University of California, Berkeley in the late 1970s. It has been widely distributed, beginning with the 2BSD release of the ...
family (csh, tcsh, etc.) of Unix command line shells. It unsets a shell variable, removing it from memory and the shell's exported environment. It is implemented as a
shell builtin In computing, a shell builtin is a command or a function, called from a shell, that is executed directly in the shell itself, instead of an external executable program which the shell would load and execute. Shell builtins work significantly fa ...
, because it directly manipulates the internals of the shell. Read-only shell variables cannot be unset. If one tries to unset a read-only variable, the unset command will print an error message and return a non-zero exit code.


Assignment: DOS, OS/2 and Windows

In DOS, OS/2 and Windows command-line interpreters such as COMMAND.COM and CMD.EXE, the
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
command is used to assign environment variables and values using the following arguments: SET VARIABLE=value An environment variable is removed via: SET VARIABLE= The SET command without any arguments displays all environment variables along with their values; SET "0 or more spaces" shows the internal ones too. In CMD.EXE, it is possible to assign local variables that do not leak outside using the SETLOCAL command. In
PowerShell PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell (computing), shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it ...
, the assignment follows a syntax similar to Unix: $env:VARIABLE = "VALUE"


Examples

Examples of environment variables include: *
PATH A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desire p ...
: a list of directory paths. When the
user Ancient Egyptian roles * User (ancient Egyptian official), an ancient Egyptian nomarch (governor) of the Eighth Dynasty * Useramen, an ancient Egyptian vizier also called "User" Other uses * User (computing), a person (or software) using an ...
types a command without providing the full path, this list is checked to see whether it contains a path that leads to the command. * HOME (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
) and USERPROFILE (Microsoft Windows): indicate where a user's
home directory A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory (such as its name and location) are defined by the operating system involved; for ...
is located in the
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
. * HOME/ (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
) and APPDATA\ (Microsoft Windows): for storing application settings. Many applications incorrectly use USERPROFILE for application settings in Windows: USERPROFILE should only be used in dialogs that allow user to choose between paths like Documents/Pictures/Downloads/Music; for programmatic purposes, APPDATA (for roaming application settings shared across multiple devices), LOCALAPPDATA (for local application settings) or PROGRAMDATA (for application settings shared between multiple OS users) should be used. * TERM (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
): specifies the type of
computer terminal A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and ...
or
terminal emulator A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote termin ...
being used (e.g.,
vt100 The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special f ...
or dumb). * PS1 (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
): specifies how the prompt is displayed in the
Bourne shell The Bourne shell (sh) is a Shell (computing), shell Command-line interface#Command-line interpreter, command-line interpreter for computer operating systems. The Bourne shell was the default Unix shell, shell for Version 7 Unix. Unix-like syste ...
and variants. * MAIL (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
): used to indicate where a user's mail is to be found. * TEMP: location where processes can store temporary files.


True environment variables


Unix

;$PATH: Contains a colon-separated list of directories that the shell searches for commands that do not contain a slash in their name (commands with slashes are interpreted as file names to execute, and the shell attempts to execute the files directly). It is equivalent to the
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
,
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
%PATH% variable. ;$HOME: Contains the location of the user's
home directory A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory (such as its name and location) are defined by the operating system involved; for ...
. Although the current user's home directory can also be found out through the C-functions getpwuid and getuid, $HOME is often used for convenience in various shell scripts (and other contexts). Using the environment variable also gives the user the possibility to point to another directory. ;$PWD: This variable points to the current directory. Equivalent to the output of the command pwd when called without arguments. ;$DISPLAY: Contains the identifier for the display that
X11 The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
programs should use by default. ;$LD_LIBRARY_PATH: On many Unix systems with a
dynamic linker In computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at "run time"), by copying the content of libraries from persistent storage to RAM, filling ...
, contains a colon-separated list of directories that the dynamic linker should search for
shared object In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subro ...
s when building a process image after exec, before searching in any other directories. ;$LIBPATH or $SHLIB_PATH: Alternatives to $LD_LIBRARY_PATH typically used on older Unix versions. ;$LANG, $LC_ALL, $LC_...: $LANG is used to set to the default locale. For example, if the locale values are pt_BR, then the language is set to (Brazilian) Portuguese and Brazilian practice is used where relevant. Different aspects of localization are controlled by individual $LC_-variables ($LC_CTYPE, $LC_ COLLATE, $LC_DATE etc.). $LC_ALL can be used to force the same locale for all aspects. ;$TZ: Refers to
time zone A time zone is an area which observes a uniform standard time for legal, Commerce, commercial and social purposes. Time zones tend to follow the boundaries between Country, countries and their Administrative division, subdivisions instead of ...
. It can be in several formats, either specifying the time zone itself or referencing a file (in /usr/share/zoneinfo). ;$BROWSER: Contains a colon-separated list of a user's
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
preferences, for use by programs that need to allow the user to view content at a URL. The browsers in the list are intended to be attempted from first to last, stopping after the first one that succeeds. This arrangement allows for fallback behavior in different environments, e.g., in an
X11 The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
environment, a graphical browser (such as
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and ...
) can be used, but in a console environment a terminal-base browser (such a
Lynx A lynx is a type of wild cat. Lynx may also refer to: Astronomy * Lynx (constellation) * Lynx (Chinese astronomy) * Lynx X-ray Observatory, a NASA-funded mission concept for a next-generation X-ray space observatory Places Canada * Lynx, Ontar ...
) can be used. A %s token may be present to specify where the URL should be placed; otherwise the browser should be launched with the URL as the first argument.


DOS

Under DOS, the ''master environment'' is provided by the primary command processor, which inherits the ''pre-environment'' defined in CONFIG.SYS when first loaded. Its size can be configured through the COMMAND /E:n parameter between 160 and 32767 bytes. ''Local environment'' segments inherited to child processes are typically reduced down to the size of the contents they hold. Some command-line processors (like
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
) allow to define a minimum amount of free environment space that will be available when launching secondary shells. While the content of environment variables remains unchanged upon storage, their names (without the "%") are always converted to uppercase, with the exception of ''pre-environment variables'' defined via the
CONFIG.SYS CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
directive
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
under
DR DOS 6.0 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
and higher (and only with SWITCHES=/L (for "allow lowercase names") under
DR-DOS 7.02 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
and higher). In principle,
MS-DOS 7.0 MS-DOS 7 is a real mode operating system for IBM PC compatibles. Unlike earlier versions of MS-DOS it was not released separately by Microsoft, but included in the Windows 9x family of operating systems. Windows 95 RTM reports to be MS-DOS 7.0, w ...
and higher also supports lowercase variable names ( %windir%), but provides no means for the user to define them. Environment variable names containing lowercase letters are stored in the environment just like normal environment variables, but remain invisible to most DOS software, since they are written to expect uppercase variables only. Some command processors limit the maximum length of a variable name to 80 characters. While principally only limited by the size of the ''environment segment'', some DOS and 16-bit Windows programs do not expect the contents of environment variables to exceed 128 characters. DR-DOS COMMAND.COM supports environment variables up to 255,
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
even up to 512 characters. Since COMMAND.COM can be configured (via /L:128..1024) to support command lines up to 1024 characters internally under MS-DOS 7.0 and higher, environment variables should be expected to contain at least 1024 characters as well. In some versions of DR-DOS, the environment passed to drivers, which often do not need their environment after installation, can be shrunken or relocated through SETENV or INSTALL IGH/code>/
LOADHIGH In computing, (abbreviated ) is an internal DOS command in COMMAND.COM that is used to load a program into the upper memory area (UMA) instead of conventional memory. The command was introduced with MS-DOS 5.0 / PC DOS 5.0 in 1991, copyin ...
options /Z (zero environment), /D loaddrive.html"_;"title="load_drive.html"_;"title="load_drive">loaddrive">load_drive.html"_;"title="load_drive">loaddrive/code>_(substitute_drive,_e.g._B:TSR.COM)_and_/E_(relocate_environment_above_program)_in_order_to_minimize_the_driver's_effectively_resulting_resident_memory_footprint. In_batch_mode,_non-existent_environment_variables_are_replaced_by_a_zero-length_string. ''Standard_environment_variables''_or_''reserved_environment_variables''_include: ;%APPEND%_(supported_since_DOS_3.3):_This_variable_contains_a_semicolon-delimited_list_of_directories_in_which_to_search_for_files._It_is_usually_changed_via_the_APPEND_(DOS_command).html" "title="load_drive">loaddrive.html" ;"title="load_drive.html" ;"title="load drive">loaddrive">load_drive.html" ;"title="load drive">loaddrive/code> (substitute drive, e.g. B:TSR.COM) and /E (relocate environment above program) in order to minimize the driver's effectively resulting resident memory footprint. In batch mode, non-existent environment variables are replaced by a zero-length string. ''Standard environment variables'' or ''reserved environment variables'' include: ;%APPEND% (supported since DOS 3.3): This variable contains a semicolon-delimited list of directories in which to search for files. It is usually changed via the APPEND (DOS command)">APPEND In computer programming, append is the operation for concatenating linked lists or arrays in some high-level programming languages. Lisp Append originates in the Lisp programming language. The append procedure takes zero or more (linked) lists a ...
/E command, which also ensures that the directory names are converted into uppercase. Some DOS software actually expects the names to be stored in uppercase and the length of the list not to exceed 121 characters, therefore the variable is best not modified via the
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
command.
Long filename Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename (short filename) naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, a ...
s containing spaces or other special characters must not be quoted ("). ;%CONFIG% (supported since
MS-DOS 6.0 MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
and PC DOS 6.1, also supported by
ROM-DOS Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and is headquartered in Bothell, Was ...
): This variable holds the symbolic name of the currently chosen boot configuration. It is set by the
DOS BIOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicati ...
(
IO.SYS is an essential part of MS-DOS and Windows 9x. It contains the default MS-DOS device drivers (hardware interfacing routines) and the DOS initialization program. Boot sequence In the PC bootup sequence, the first sector of the boot disk is ...
, IBMBIO.COM, etc.) to the name defined by the corresponding
CONFIG.SYS CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
directive MENUITEM before launching the primary command processor. Its main purpose is to allow further special cases in
AUTOEXEC.BAT AUTOEXEC.BAT is a system file that was originally on DOS-type operating systems. It is a plain-text batch file in the root directory of the boot device. The name of the file is an abbreviation of "automatic execution", which describes its funct ...
and similar batchjobs depending on the selected option at boot time. This can be emulated under DR-DOS by utilizing the CONFIG.SYS directive
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
like SET CONFIG=1. ;%CMDLINE% (introduced with
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, also supported since
MS-DOS 7.0 MS-DOS 7 is a real mode operating system for IBM PC compatibles. Unlike earlier versions of MS-DOS it was not released separately by Microsoft, but included in the Windows 9x family of operating systems. Windows 95 RTM reports to be MS-DOS 7.0, w ...
): This variable contains the fully expanded text of the currently executing command line. It can be read by applications to detect the usage of and retrieve long command lines, since the traditional method to retrieve the command line arguments through the PSP (or related
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
functions) is limited to 126 characters and is no longer available when FCBs get expanded or the default DTA is used. While 4DOS supports longer command lines, COMMAND.COM still only supports a maximum of 126 characters at the prompt by default (unless overridden with /U:128..255 to specify the size of the command line buffer), but nevertheless internal command lines can become longer through f.e. variable expansion (depending on /L:128..1024 to specify the size of the internal buffer). In addition to the command-line length byte in the PSP, the PSP command line is normally limited by ASCII-13, and command lines longer than 126 characters will typically be truncated by having an ASCII-13 inserted at position 127, but this cannot be relied upon in all scenarios. The variable will be suppressed for external commands invoked with a preceding @-symbol like in @XCOPY ... for backward compatibility and in order to minimize the size of the environment when loading non-relocating TSRs. Some beta versions of Windows Chicago used %CMDLINE% to store only the remainder of the command line excessing 126 characters instead of the complete command line. ; %COMSPEC% (supported since DOS 2.0): This variable contains the full 8.3 path to the
command processor A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive command (computing), commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invokin ...
, typically C:\
COMMAND.COM COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot (init proc ...
or C:\DOS\COMMAND.COM. It must not contain long filenames, but under DR-DOS it may contain
file File or filing may refer to: Mechanical tools and processes * File (tool), a tool used to ''remove'' fine amounts of material from a workpiece **Filing (metalworking), a material removal process in manufacturing ** Nail file, a tool used to gent ...
and directory passwords. It is set up by the primary command processor to point to itself (typically reflecting the settings of the
CONFIG.SYS CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
directive
SHELL Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard o ...
), so that the resident portion of the command processor can reload its transient portion from disk after the execution of larger programs. The value can be changed at runtime to reflect changes in the configuration, which would require the command processor to reload itself from other locations. The variable is also used when launching secondary shells. ;%COPYCMD% (supported since
MS-DOS 6.2 MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
and PC DOS 6.3, also supported by
ROM-DOS Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and is headquartered in Bothell, Was ...
): Allows a user to specify the /Y switch (to assume "Yes" on queries) as the default for the
COPY Copy may refer to: *Copying or the product of copying (including the plural "copies"); the duplication of information or an artifact **Cut, copy and paste, a method of reproducing text or other data in computing **File copying **Photocopying, a pr ...
,
XCOPY In computing, XCOPY is a command used on IBM PC DOS, MS-DOS, IBM OS/2, Microsoft Windows, FreeDOS, ReactOS, and related operating systems for copying multiple files or entire directory trees from one directory to another and for copying files a ...
, and
MOVE Move may refer to: People * Daniil Move (born 1985), a Russian auto racing driver Brands and enterprises * Move (company), an online real estate company * Move (electronics store), a defunct Australian electronics retailer * Daihatsu Move Go ...
commands. A default of /Y can be overridden by supplying the /-Y switch on the command line. The /Y switch instructs the command to replace existing files without prompting for confirmation. ;%DIRCMD% (supported since
MS-DOS 5.0 MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
and PC DOS 5.0, also supported by
ROM-DOS Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and is headquartered in Bothell, Was ...
): Allows a user to specify customized default parameters for the DIR command, including file specifications. Preset default switches can be overridden by providing the negative switch on the command line. For example, if %DIRCMD% contains the /W switch, then it can be overridden by using DIR /-W at the command line. This is similar to the environment variable %$DIR% under
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
and a facility to define default switches for DIR through its /C or /R switches under
DR-DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
COMMAND.COM. %DIRCMD% is also supported by the external SDIR.COM/DIR.COM Stacker commands under
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
and higher. ;%LANG% (supported since
MS-DOS 7.0 MS-DOS 7 is a real mode operating system for IBM PC compatibles. Unlike earlier versions of MS-DOS it was not released separately by Microsoft, but included in the Windows 9x family of operating systems. Windows 95 RTM reports to be MS-DOS 7.0, w ...
): This variable is supported by some tools to switch the locale for messages in multilingual issues. ;%LANGSPEC% (supported since
MS-DOS 7.0 MS-DOS 7 is a real mode operating system for IBM PC compatibles. Unlike earlier versions of MS-DOS it was not released separately by Microsoft, but included in the Windows 9x family of operating systems. Windows 95 RTM reports to be MS-DOS 7.0, w ...
): This variable is supported by some tools to switch the locale for messages in multilingual issues. ;%NO_SEP% (supported since PC DOS 6.3 and DR-DOS 7.07): This variable controls the display of thousands-separators in messages of various commands. Issued by default, they can be suppressed by specifying SET NO_SEP=ON or SET NO_SEP=1 under PC DOS. DR-DOS additionally allows to override the system's thousands-separator displayed as in f.e. SET NO_SEP=.. ; %PATH% (supported since DOS 2.0): This variable contains a semicolon-delimited list of directories in which the
command interpreter A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
will search for
executable file In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
s. Equivalent to the Unix
$PATH PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. In general, each executing process or user session has its own PATH setting. ...
variable (but some DOS and Windows applications also use the list to search for data files similar to $LD_LIBRARY_PATH on Unix-like systems). It is usually changed via the
PATH A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desire p ...
(or PATH /E under
MS-DOS 6.0 MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
) command, which also ensures that the directory names are converted into uppercase. Some DOS software actually expects the names to be stored in uppercase and the length of the list not to exceed 123 characters, therefore the variable should better not be modified via the
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
command.
Long filename Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename (short filename) naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, a ...
s containing spaces or other special characters must not be quoted ("). By default, the current directory is searched first, but some command-line processors like
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
allow "." (for "current directory") to be included in the list as well in order to override this search order; some DOS programs are incompatible with this extension. ;%PROMPT% (supported since DOS 2.0): This variable contains a $-tokenized string defining the display of the
prompt Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
. It is usually changed via the
PROMPT Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
command. ;%TEMP% (and %TMP%): These variables contain the path to the directory where
temporary file A temporary file is a file created to store information temporarily, either for a program's intermediate use or for transfer to a permanent file when complete. It may be created by computer programs for a variety of purposes, such as when a program ...
s should be stored. Operating system tools typically only use %TEMP%, whereas third-party programs also use %TMP%. Typically %TEMP% takes precedence over %TMP%. The
DR-DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
family supports a number of additional ''standard environment variables'' including: ;%BETA%: This variable contains an optional message displayed by some versions (including DR DOS 3.41) of COMMAND.COM at the startup of secondary shells. ;%DRDOSCFG%/%NWDOSCFG%/%OPENDOSCFG%: This variable contains the directory (without trailing "\") where to search for .INI and .CFG configuration files (that is, DR-DOS application specific files like TASKMGR.INI, TASKMAX.INI, VIEWMAX.INI, FASTBACK.CFG etc., class specific files like COLORS.INI, or global files like DRDOS.INI, NWDOS.INI, OPENDOS.INI, or DOS.INI), as used by the INSTALL and SETUP commands and various DR-DOS programs like DISKOPT, DOSBOOK, EDIT, FBX, FILELINK, LOCK, SECURITY.OVL/NWLOGIN.EXE, SERNO, TASKMAX, TASKMGR,
VIEWMAX ViewMAX is a CUA-compliant file manager supplied with DR DOS versions 5.0 and 6.0. It is based on a cut-down runtime version of Digital Research's GEM/3 graphical user interface modified to run only a single statically built applicatio ...
, or UNDELETE. It must not contain
long filename Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename (short filename) naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, a ...
s. ;%DRCOMSPEC%: This variable optionally holds an alternative path to the command processor taking precedence over the path defined in the %COMSPEC% variable, optionally including
file File or filing may refer to: Mechanical tools and processes * File (tool), a tool used to ''remove'' fine amounts of material from a workpiece **Filing (metalworking), a material removal process in manufacturing ** Nail file, a tool used to gent ...
and directory passwords. Alternatively, it can hold a special value of "ON" or "1" in order to enforce the usage of the %COMSPEC% variable even in scenarios where the %COMSPEC% variable may point to the wrong command-line processor, for example, when running some versions of the DR-DOS SYS command under a foreign operating system. ;%DRSYS%: Setting this variable to "ON" or "1" will force some versions of the DR-DOS SYS command to work under foreign operating systems instead of displaying a warning. ;%FBP_USER%: Specifies the user name used by the
FastBack A fastback is an automotive styling feature, defined by the rear of the car having a single slope from the roof to the tail. The kammback is a type of fastback style. Some models, such as the Ford Mustang, have been specifically marketed as ...
command
FBX FBX (''Filmbox'') is a proprietary file format () developed by Kaydara and owned by Autodesk since 2006. It is used to provide interoperability between digital content creation applications. FBX is also part of Autodesk Gameware, a series of vid ...
and
.FB A fastback is an automotive styling feature, defined by the rear of the car having a single slope from the roof to the tail. The kammback is a type of fastback style. Some models, such as the Ford Mustang, have been specifically marketed as f ...
configuration files under
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
. ;%HOMEDIR%: This variable may contain the home directory under DR-DOS (including DR DOS 5.0 and 6.0). ;%INFO%: In some versions of DR-DOS COMMAND.COM this variable defines the string displayed by the $I token of the
PROMPT Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
command. It can be used, for example, to inform the user how to exit secondary shells. ;%LOGINNAME%: In some versions of DR-DOS COMMAND.COM this variable defines the user name displayed by the $U token of the
PROMPT Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
command, as set up by f.e. login scripts for
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
. See also the similarly named pseudo-variable %LOGIN_NAME%. ;%MDOS_EXEC%: This variable can take the values "ON" or "OFF" under
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
. If enabled, the operating system permits applications to shell out to secondary shells with the DOS Program Area (DPA) freed in order to have maximum DOS memory available for secondary applications instead of running them in the same domain as under DOS. ;%NOCHAR%: This variable can be used to define the character displayed by some commands in messages for "No" in ,N/code> queries, thereby overriding the current system default (typically "N" in English versions of DR-DOS). If it contains a string, only the first character, uppercased, will be taken. Some commands also support a command line parameter /Y to automatically assume "Yes" on queries, thereby suppressing such prompts. If, however, the parameter /Y:yn is used to specify the "Yes"/"No" characters (thereby overriding any %NOCHAR% setting), queries are not suppressed. See also the related CONFIG.SYS directive NOCHAR and the environment variable %YESCHAR%. ;%NOSOUND%: Setting this variable to "ON" or "1" will disable default beeps issued by some DR-DOS commands in certain situations such as to inform the user of the completion of some operation, that user interaction is required, or when a wrong key was pressed. Command line options to specifically enable certain beeps will override this setting. ;%OS%:This variable contains the name of the operating system in order to distinguish between different DOS-related operating systems of
Digital Research Digital Research, Inc. (DR or DRI) was a company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS and ...
-origin in batch jobs and applications. Known values include "DOSPLUS" (
DOS Plus 1.2 DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE e ...
in DOS emulation), "CPCDOS 4.1" (DOS Plus 1.2 in
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
emulation), "DRDOS" ( DR DOS 3.31- 6.0, DR DOS Panther, DR DOS StarTrek,
DR-DOS 7.02 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
- 7.05), "EZDOS" ( EZ-DOS 3.41), "PALMDOS" and "NetWare PalmDOS" (
PalmDOS 1.0 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
), "NWDOS" (
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
), "NWDOS7" (Novell DOS 7 Beta), "OPENDOS" ( Caldera OpenDOS 7.01, Caldera DR-OpenDOS 7.02), "CDOS" (
Concurrent DOS Multiuser DOS is a Real-time operating system, real-time multi-user multi-tasking operating system for IBM Personal Computer, IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 ...
,
Concurrent DOS XM Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
), "CPCDOS" ( Concurrent PC DOS), "CDOS386" (
Concurrent DOS 386 Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
), "DRMDOS" ( DR Multiuser DOS), "MDOS" ( CCI Multiuser DOS), "IMSMDOS" ( IMS Multiuser DOS), "REAL32" (
REAL/32 Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
). MS-DOS INTERSVR looks for a value of "DRDOS" as well. See also the identically named environment variable %OS% later introduced in the
Windows NT family Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Wind ...
. ;%PEXEC%: In some versions of DR-DOS this variable defines the command executed by the $X token of the
PROMPT Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
command before COMMAND.COM displays the prompt after returning from external program execution. ;%SWITCHAR%: This variable defines the
SwitChar A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
to be used for argument parsing by some DR-DOS commands. If defined, it overrides the system's current SwitChar setting. The only accepted characters are "/" (DOS style), "-" (Unix style) and "
CONFIG.SYS_directive_ CONFIG.SYS_directive_SWITCHAR_(CONFIG.SYS_directive)">SWITCHAR_ A_command-line_interpreter_or_command-line_processor_uses_a_command-line_interface_(CLI)_to_receive_commands_from_a_user_in_the_form_of_lines_of_text._This_provides_a_means_of_setting_parameters_for_the_environment,_invoking_executables_and_pro_...
_(to_set_the_system's_SwitChar_setting)_and_the_#%/%.html" ;"title="SWITCHAR_(CONFIG.SYS_directive).html" "title="/code>" (CP/M style). See also the related CONFIG.SYS directive SWITCHAR (CONFIG.SYS directive)">SWITCHAR A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(to set the system's SwitChar setting) and the #%/%">%/% ''system information variable'' in some issues of DR-DOS COMMAND.COM (to retrieve the current setting for portable batchjobs). ;%TASKMGRWINDIR%: This variable specifies the directory, where the Windows SYSTEM.INI to be used by the DR-DOS TASKMGR multitasker is located, overriding the default procedure to locate the file. ;%VER%: This variable contains the version of the operating system in order to distinguish between different versions of DR-DOS in batch jobs and in the display of the
VER Ver or VER may refer to: * Voluntary Export Restraints, in international trade * VER, the IATA airport code for General Heriberto Jara International Airport * Volk's Electric Railway, Brighton, England * VerPublishing, of the German group VDM P ...
command. It is also used for the $V token of the
PROMPT Prompt may refer to: Computing * Command prompt, characters indicating the computer is ready to accept input * Command Prompt, also known as cmd.exe or cmd, the command-line interpreter in some operating systems * Prompt (natural language), instr ...
command and affects the value returned by the ''system information variable'' %OS_VERSION%. Known values include "1.0" (
PalmDOS 1.0 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
), "1.2" (
DOS Plus 1.2 DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE e ...
in DOS emulation), "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" ( Concurrent PC DOS 4.1), "5.0" ( DR DOS 5.0, DR Multiuser DOS 5.0), "5.1" ( Novell DR Multiuser DOS 5.1), "6.0" ( DR Concurrent DOS XM 6.0,
DR DOS 6.0 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
), "6.2" ( DR Concurrent DOS XM 6.2), "7" (
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
, Caldera OpenDOS 7.01,
DR-DOS 7.02 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
- 7.05), "7.00" ( CCI Multiuser DOS 7.00), "7.07" ( DR-DOS 7.07), "7.1" ( IMS Multiuser DOS 7.1), "7.21" ( CCI Multiuser DOS 7.21), "7.22" ( CCI Multiuser DOS 7.22) etc. ;%YESCHAR%:This variable can be used to define the character displayed by some commands in messages for "Yes" in ,N/code> queries, thereby overriding the current system default (typically "Y" in English versions of DR-DOS). If it contains a string, only the first character, uppercased, will be taken. Some commands also support a command line parameter /Y to automatically assume "Yes" on queries, thereby suppressing such prompts. If, however, the parameter /Y:y is used to specify the "Yes" character (thereby overriding any %YESCHAR% setting), queries are not suppressed. See also the related CONFIG.SYS directive YESCHAR and the environment variable %NOCHAR%. ;%$CLS%: This variable defines the control sequence to be sent to the console driver to clear the screen when the CLS command is issued, thereby overriding the internal default ("←[2J" under DR-DOS, "←E" under
DOS Plus 1.2 DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE e ...
on Amstrad machines as well as under
Concurrent DOS Multiuser DOS is a Real-time operating system, real-time multi-user multi-tasking operating system for IBM Personal Computer, IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 ...
,
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
, and
REAL/32 Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
for VT52 terminals, or "←+" under Multiuser DOS for
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
terminals). If the variable is not defined and no ANSI.SYS console driver is detected, the DR-DOS COMMAND.COM will directly clear the screen via INT 10h/AH=00h
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
function, like MS-DOS/PC DOS COMMAND.COM does. A special \nnn-notation for
octal number The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, uses a base-10 number ...
s is supported to allow the definition of special characters like ESC ( ASCII-27 = "←" = 1Bh = 33o), as f.e. in SET $CLS=\033 \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_ \
")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_TYPE_(DOS_command)">TYPE_filename._See_also_the_related_environment_variables_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_TYPE_(DOS_command)">TYPE_filename._See_also_the_related_environment_variables_#%$LENGTH%">%$LENGTH%_and_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_TYPE_(DOS_command)">TYPE_filename._See_also_the_related_environment_variables_#%$LENGTH%">%$LENGTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_TYPE_(DOS_command)">TYPE_filename._See_also_the_related_environment_variables_#%$LENGTH%">%$LENGTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_COLUMNS%">%_COLUMNS%. ;%$SLICE%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_a_numerical_value_to_control_the_foreground/background_time_slicing_of_multitasking_programs._See_also_the_DOS_Plus_command_ \")_itself,_it_can_be_doubled_"\\". ;%$DIR%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"L"_(long)_or_"W"_(wide)_to_change_the_default_layout_of_directory_listings_with__DIR._Can_be_overridden_using_the_command_line_options_/L_or_/W._See_also_the_similar_environment_variable_#%DIRCMD%">%DIRCMD%_and_the_DIR_options_/C_and_/R_of_the_DR-DOS_COMMAND.COM. ;%$PAGE%:_Supported_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_the_values_"ON"_or_"OFF"_for_pagination_control._Setting_this_to_"ON"_has_the_same_affect_as_adding_/P_to_commands_supporting_it_(like__DIR_or_TYPE_(DOS_command)">TYPE). ;%$LENGTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_length_of_the_console_in_lines._This_is_used_to_control_in_a_portable_way_when_the_screen_output_should_be_temporarily_halted_until_a_key_is_pressed_in_conjunction_with_the_/P_option_supported_by_various_commands_or_with_automatic_pagnination._See_also_the_related_environment_variables_#%$WIDTH%">%$WIDTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_ROWS%">%_ROWS%. ;%$WIDTH%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_to_define_the_screen_width_of_the_console_in_columns._This_is_used_to_control_in_a_portable_way_the_formatting_of_the_screen_output_of_commands_like__DIR_/W_or_TYPE_(DOS_command)">TYPE_filename._See_also_the_related_environment_variables_#%$LENGTH%">%$LENGTH%_and_#%DIRSIZE%">%DIRSIZE%_as_well_as_the_similar_pseudo-variable_#%_COLUMNS%">%_COLUMNS%. ;%$SLICE%:_Used_by_DOS_Plus_ DOS Plus_(erroneously_also_known_as_DOS+)_was_the_first_operating_system_developed_by_Digital_Research's_OEM_Support_Group_in_Newbury,_Berkshire,_UK,_first_released_in_1985._DOS_Plus_1.0_was_based_on__CP/M-86_Plus_combined_with_the__PCMODE__...
_accepting_a_numerical_value_to_control_the_foreground/background_time_slicing_of_multitasking_programs._See_also_the_DOS_Plus_command_SLICE_(DOS_command)">SLICE. ;%$ON%:_This_variable_can_hold_an_optional_control_sequence_to_switch_text_highlighting,_reversion_or_colorization_on._It_is_used_to_emphasize_or_otherwise_control_the_display_of_the_file_names_in_commands_like_TYPE_(DOS_command).html" ;"title="SLICE_(DOS_command).html" ;"title="#%_COLUMNS%.html" ;"title="#%DIRSIZE%.html" ;"title="#%$LENGTH%.html" ;"title="TYPE_(DOS_command).html" ;"title="#%_ROWS%.html" ;"title="#%DIRSIZE%.html" ;"title="#%$WIDTH%.html" ;"title="TYPE_(DOS_command).html" ;"title="#%DIRCMD%.html" ;"title="J. To send the backslash ("\") itself, it can be doubled "\\". ;%$DIR%: Supported by
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
accepting the values "L" (long) or "W" (wide) to change the default layout of directory listings with DIR. Can be overridden using the command line options /L or /W. See also the similar environment variable #%DIRCMD%">%DIRCMD% and the DIR options /C and /R of the DR-DOS COMMAND.COM. ;%$PAGE%: Supported by
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
accepting the values "ON" or "OFF" for pagination control. Setting this to "ON" has the same affect as adding /P to commands supporting it (like DIR or TYPE (DOS command)">TYPE). ;%$LENGTH%: Used by
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
to define the screen length of the console in lines. This is used to control in a portable way when the screen output should be temporarily halted until a key is pressed in conjunction with the /P option supported by various commands or with automatic pagnination. See also the related environment variables #%$WIDTH%">%$WIDTH% and #%DIRSIZE%">%DIRSIZE% as well as the similar pseudo-variable #%_ROWS%">%_ROWS%. ;%$WIDTH%: Used by
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
to define the screen width of the console in columns. This is used to control in a portable way the formatting of the screen output of commands like DIR /W or TYPE (DOS command)">TYPE filename. See also the related environment variables #%$LENGTH%">%$LENGTH% and #%DIRSIZE%">%DIRSIZE% as well as the similar pseudo-variable #%_COLUMNS%">%_COLUMNS%. ;%$SLICE%: Used by
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
accepting a numerical value to control the foreground/background time slicing of multitasking programs. See also the DOS Plus command SLICE (DOS command)">SLICE. ;%$ON%: This variable can hold an optional control sequence to switch text highlighting, reversion or colorization on. It is used to emphasize or otherwise control the display of the file names in commands like TYPE (DOS command)">TYPE wildcard, for example SET $ON=\033[1m with ANSI.SYS loaded or SET $ON=\016 for an IBM or ESC/P printer. For the special \nnn octal notation supported, see #%$CLS%, %$CLS%. While the variable is undefined by default under DOS Plus and DR-DOS, the
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
default for an
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
terminal equals SET $ON=\033p. See also the related environment variable
%$OFF% An environment variable is a Name resolution (programming languages), dynamic-named Value (computer science), value that can affect the way running process (computing), processes will behave on a computer. They are part of the environment in wh ...
. ;%$OFF%: This variable can hold an optional control sequence to switch text highlighting, reversion or colorization off. It is used to return to the normal output after the display of file names in commands like TYPE wildcard, for example SET $OFF=\033 m_with_ANSI.SYS_loaded_or_SET_$OFF=\024_for_an_IBM_or_
m_with_ANSI.SYS_loaded_or_SET_$OFF=\024_for_an_IBM_or_ESC/P">ANSI.SYS.html"_;"title="m_with_ANSI.SYS">m_with_ANSI.SYS_loaded_or_SET_$OFF=\024_for_an_IBM_or_ESC/P_printer._For_the_special_\nnn_octal_notation_supported,_see_
m_with_ANSI.SYS_loaded_or_SET_$OFF=\024_for_an_IBM_or_ESC/P">ANSI.SYS.html"_;"title="m_with_ANSI.SYS">m_with_ANSI.SYS_loaded_or_SET_$OFF=\024_for_an_IBM_or_ESC/P_printer._For_the_special_\nnn_octal_notation_supported,_see_#%$CLS%">%$CLS%_ An_environment_variable_is_a_Name_resolution_(programming_languages),_dynamic-named_Value_(computer_science),_value_that_can_affect_the_way_running_process_(computing),_processes_will_behave_on_a_computer._They_are_part_of_the_environment_in_wh_...
._While_the_variable_is_undefined_by_default_under_DOS_Plus_and_DR-DOS,_the_Multiuser_DOS_ Multiuser_DOS_is_a_real-time_multi-user_multi-tasking_operating_system_for_IBM_PC-compatible_microcomputers. An_evolution_of_the_older_Concurrent_CP/M-86,_Concurrent_DOS_and_Concurrent_DOS_386_operating_systems,_it_was_originally_developed_by__...
_default_for_an_ASCII_ ASCII_(_),_abbreviated_from_American_Standard_Code_for_Information_Interchange,_is_a_character_encoding_standard_for_electronic_communication._ASCII_codes_represent_text_in_computers,_telecommunications_equipment,_and_other_devices._Because_of_...
_terminal_equals_SET_$OFF=\033q._See_also_the_related_environment_variable_#%$ON%.html" "title="#%$CLS%.html" "title="ESC/P.html" ;"title="ANSI.SYS.html" ;"title="m with ANSI.SYS">m with ANSI.SYS loaded or SET $OFF=\024 for an IBM or ESC/P">ANSI.SYS.html" ;"title="m with ANSI.SYS">m with ANSI.SYS loaded or SET $OFF=\024 for an IBM or ESC/P printer. For the special \nnn octal notation supported, see #%$CLS%">%$CLS% An environment variable is a Name resolution (programming languages), dynamic-named Value (computer science), value that can affect the way running process (computing), processes will behave on a computer. They are part of the environment in wh ...
. While the variable is undefined by default under DOS Plus and DR-DOS, the
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
default for an
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
terminal equals SET $OFF=\033q. See also the related environment variable #%$ON%">%$ON% An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP en ...
. ;%$HEADER%: This variable can hold an optional control sequence issued before the output of the file contents in commands like TYPE under DR-DOS 7.02 and higher. It can be used for highlighting, pagination or formatting, f.e. when sending the output to a printer, i.e. SET $HEADER=\017 for an IBM or ESC/P printer. For the special \nnn octal notation supported, see #%$CLS%, %$CLS%. See also the related environment variable #%$FOOTER%, %$FOOTER%. ;%$FOOTER%: This variable can hold an optional control sequence issued after the output of the file contents in commands like TYPE under DR-DOS 7.02 and higher. It is used to return to the normal output format, i.e. SET $FOOTER=\022\014 in the printer example above. For the special \nnn octal notation supported, see #%$CLS%, %$CLS%. See also the related environment variable %$HEADER%.
Datalight ROM-DOS Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and is headquartered in Bothell, Was ...
supports a number of additional ''standard environment variables'' as well including: ;%DIRSIZE%: This variable is used to define non-standard screen sizes rows cols/code> for DIR options /P and /W (similar to %$LENGTH% and %$WIDTH% under DOS Plus). ;%NEWFILE%: This variable is automatically set to the first parameter given to the CONFIG.SYS directive NEWFILE. %TZ%, %COMM%, %SOCKETS%, %HTTP_DIR%, %HOSTNAME% and %FTPDIR% are also used by ROM-DOS.


OS/2

;%BEGINLIBPATH%: Contains a semicolon-separated list of directories which are searched for DLLs ''before'' the directories given by the %LIBPATH% variable (which is set during system startup with the special
CONFIG.SYS CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
directive
LIBPATH An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP envi ...
). It is possible to specify relative directories here, including "." for the current working directory. See also the related environment variable %ENDLIBPATH%. ;%ENDLIBPATH%: a list of directories to be searched for DLLs like %BEGINLIBPATH%, but searched ''after'' the list of directories in %LIBPATH%.


Windows

''System path variables'' refer to locations of critical operating system resources, and as such generally are not user-dependent. ;%APPDATA%: Contains the full path to the '' Application Data'' directory of the logged-in user. Does not work on Windows NT 4.0 SP6 UK. ;%LOCALAPPDATA%: This variable is the temporary files of ''Applications''. Its uses include storing of desktop themes,
Windows error reporting Windows Error Reporting (WER) (codenamed Watson) is a crash reporting technology introduced by Microsoft with Windows XP and included in later Windows versions and Windows Mobile 5.0 and 6.0. Not to be confused with the Dr. Watson debugging ...
, caching and profiles of web browsers. ;% ComSpec%/% COMSPEC%:The %ComSpec% variable contains the full path to the command processor; on the Windows NT family of operating systems, this is
cmd.exe Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
, while on
Windows 9x Windows 9x is a generic term referring to a series of Microsoft Windows computer operating systems produced from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subs ...
, %COMSPEC% is
COMMAND.COM COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot (init proc ...
. ;%OS%:The %OS% variable contains a symbolic name of the operating system family to distinguish between differing feature sets in batchjobs. It resembles an identically named environment variable %OS% found in all DOS-related operating systems of
Digital Research Digital Research, Inc. (DR or DRI) was a company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS and ...
-origin like Concurrent DOS,
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
, REAL/32,
DOS Plus DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
,
DR DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
, Novell DOS and OpenDOS. %OS% always holds the string "Windows_NT" on the
Windows NT family Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Wind ...
. ;%PATH%: This variable contains a semicolon-delimited (do not put spaces in between) list of directories in which the command interpreter will search for an executable file that matches the given command. Environment variables that represent paths may be nested within the %PATH% variable, but only at one level of indirection. If this sub-path environment variable itself contains an environment variable representing a path, %PATH% will not expand properly in the variable substitution. Equivalent to the
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
$PATH PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. In general, each executing process or user session has its own PATH setting. ...
variable. ;%ProgramFiles%, %ProgramFiles(x86)%, %ProgramW6432%: The %ProgramFiles% variable points to the ''Program Files'' directory, which stores all the installed programs of Windows and others. The default on English-language systems is "C:\Program Files". In 64-bit editions of Windows (XP, 2003, Vista), there are also %ProgramFiles(x86)%, which defaults to "C:\Program Files (x86)", and %ProgramW6432%, which defaults to "C:\Program Files". The %ProgramFiles% itself depends on whether the process requesting the environment variable is itself 32-bit or 64-bit (this is caused by Windows-on-Windows 64-bit redirection). ;%CommonProgramFiles%: This variable points to the ''Common Files'' directory. The default is "C:\Program Files\Common Files" in the English version of Windows. ;%OneDrive%: The %OneDrive% variable is a special system-wide environment variable found on Windows NT and its derivatives. Its value is the path of where (if installed and setup) the Onedrive directory is located. The value of %OneDrive% is in most cases "C:\Users\\OneDrive\". ;%SystemDrive%: The %SystemDrive% variable is a special system-wide environment variable found on Windows NT and its derivatives. Its value is the drive upon which the system directory was placed. The value of %SystemDrive% is in most cases "C:". ;%SystemRoot%:The %SystemRoot% variable is a special system-wide environment variable found on the Windows NT family of operating systems. Its value is the location of the system directory, including the drive and path. The drive is the same as %SystemDrive% and the default path on a clean installation depends upon the version of the operating system. By default: :*
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
and newer versions use "\WINDOWS". :*
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RTM), releas ...
,
NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
and NT 3.1 use "\WINNT". :*
Windows NT 3.5 Windows NT 3.5 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was released on September 21, 1994, as the successor to Windows NT 3.1 and the predecessor to Windows NT 3.51. One ...
and NT 3.51 uses "\WINNT35". :* Windows NT 4.0 Terminal Server uses "\WTSRV". ;%windir%:This variable points to the ''Windows'' directory. (On the Windows NT family of operating systems, it is identical to the %SystemRoot% variable).
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
98 and
Windows ME Windows Millennium Edition, or Windows Me (marketed with the pronunciation of the pronoun "me"), is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It is the successor to Windo ...
are, by default, installed in "C:\Windows". For other versions of Windows, see the %SystemRoot% entry above. ''User management variables'' store information related to resources and settings owned by various
user profile A user profile is a collection of settings and information associated with a user. It contains critical information that is used to identify an individual, such as their name, age, portrait photograph and individual characteristics such as ...
s within the system. As a general rule, these variables do not refer to critical system resources or locations that are necessary for the OS to run. ;%ALLUSERSPROFILE% (%PROGRAMDATA% since Windows Vista): This variable expands to the full path to the ''All Users'' profile directory. This profile contains resources and settings that are used by all system accounts.
Shortcut Shortcut may refer to: Navigation * Rat running or shortcut, a minor-road alternative to a signposted route * File shortcut, a handle which allows the user to find a file or resource located in a different directory or folder on a computer * Key ...
links copied to the ''All Users''\' ''Start menu'' or ''Desktop'' directories will appear in every user's ''Start menu'' or ''
Desktop A desktop traditionally refers to: * The surface of a desk (often to distinguish office appliances that fit on a desk, such as photocopiers and printers, from larger equipment covering its own area on the floor) Desktop may refer to various compu ...
'', respectively. ;%USERDOMAIN%: The name of the '' Workgroup'' or ''
Windows Domain A Windows domain is a form of a computer network in which all user accounts, computers, printers and other security principals, are registered with a central database located on one or more clusters of central computers known as domain controlle ...
'' to which the current user belongs. The related variable, %LOGONSERVER%, holds the
hostname In computer networking, a hostname (archaically nodename) is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication, such as the World Wide Web. Hos ...
of the server that authenticated the current user's login credentials (name and password). For home PCs and PCs in a workgroup, the authenticating server is usually the PC itself. For PCs in a Windows domain, the authenticating server is a
domain controller A domain controller (DC) is a server computer that responds to security authentication requests within a computer network domain. It is a network server that is responsible for allowing host access to domain resources. It authenticates users, sto ...
(a primary domain controller, or PDC, in Windows NT 4-based domains). ;%USERPROFILE%: A special system-wide environment variable found on Windows NT and its derivatives. Its value is the location of the current user's profile directory, in which is found that user's HKCU registry hive (NTUSER). Users can also use the %USERNAME% variable to determine the active users login identification. ''Optional System variables'' are not explicitly specified by default but can be used to modify the default behavior of certain built-in console commands. These variables also do not need to be explicitly specified as command line arguments.


Default values

The following tables shows typical default values of certain environment variables under English versions of Windows as they can be retrieved under CMD. (Some of these variables are also defined when running COMMAND.COM under Windows, but differ in certain important details: Under COMMAND.COM, the names of environment variable are always uppercased. Some, but not all variables contain short 8.3 rather than
long file name Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename (short filename) naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, a ...
s. While some variables present in the CMD environment are missing, there are also some variables specific to the COMMAND environment.) In this list, there is no environment variable that refers to the location of the user's ''My Documents'' directory, so there is no standard method for setting a program's home directory to be the ''My Documents'' directory.


Pseudo-environment variables

The command processors in DOS and Windows also support pseudo-environment variables. These are values that are fetched like environment variables, but are not truly stored in the environment but computed when requested.


DOS

Besides true environment variables, which are statically stored in the environment until changed or deleted, a number of pseudo-environment variables exist for batch processing. The so-called ''replacement parameters'' or ''replaceable parameters'' (Microsoft / IBM terminology) aka ''replacement variables'' (Digital Research / Novell / Caldera terminology) or '' batch file parameters'' (JP Software terminology) %1..%9 and %0 can be used to retrieve the calling parameters of a batchjob, see SHIFT. In batchjobs, they can be retrieved just like environment variables, but are not actually stored in the environment. Some command-line processors (like
DR-DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
COMMAND.COM,
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
MDOS.COM/ TMP.EXE (Terminal Message Process), JP Software
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, 4OS2, 4NT, Take Command and Windows
cmd.exe Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
) support a type of pseudo-environment variables named ''system information variables'' (Novell / Caldera terminology) or ''internal variables'' (JP Software terminology), which can be used to retrieve various possibly dynamic, but read-only information about the running system in batch jobs. The returned values represent the status of the system in the moment these variables are queried; that is, reading them multiple times in a row may return different values even within the same command; querying them has no direct effect on the system. Since they are not stored in the environment, they are not listed by
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
and do not exist for external programs to retrieve. If a true environment variable of the same name is defined, it takes precedence over the corresponding variable until the environment variable is deleted again. They are not case-sensitive. While almost all such variables are prefixed with an
underscore An underscore, ; also called an underline, low line, or low dash; is a line drawn under a segment of text. In proofreading, underscoring is a convention that says "set this text in italic type", traditionally used on Manuscript (publishing), man ...
("_") by 4DOS etc. by convention (f.e. %_SECOND%), they are not under DR-DOS COMMAND.COM (f.e. %OS_VERSION%). In addition, 4DOS, 4OS2, 4NT, and Take Command also support so called ''variable functions'', including user-definable ones. They work just like ''internal variables'', but can take optional parameters (f.e. %@EVAL[]%) and may even change the system status depending on their function. ''System information variables'' supported by DR-DOS COMMAND.COM: ;%AM_PM%: This pseudo-variable returns the ante- or post-midday status of the current time. The returned string depends on the locale-specific version of DR-DOS, f.e. "am" or "pm" in the English version. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%DAY%: This pseudo-variable returns the days of the current date in a 2-digit format with leading zeros, f.e. "01".."31". See also the similar pseudo-variable %_DAY%. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%DAY_OF_WEEK%: This pseudo-variable returns the day name of the week in a 3-character format. The returned string depends on the locale-specific version of DR-DOS, f.e. "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", or "Sat" in the English version. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%ERRORLEVEL%: In COMMAND.COM of DR-DOS 7.02 and higher, this pseudo-variable returns the last error level returned by an external program or the
RETURN Return may refer to: In business, economics, and finance * Return on investment (ROI), the financial gain after an expense. * Rate of return, the financial term for the profit or loss derived from an investment * Tax return, a blank document or t ...
command, f.e. "0".."255". See also the identically named pseudo-variable %ERRORLEVEL% under Windows and the IF ERRORLEVEL conditional command. ;%ERRORLVL%: In DR-DOS 7.02 and higher, this pseudo-variable returns the last error level in a 3-digit format with leading zeros, f.e. "000".."255". Under
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
, this is a true environment variable automatically updated by the shell to the return code of exiting programs. See also the related pseudo-variable %ERRORLEVEL% under DR-DOS and the IF ERRORLEVEL command. ;%GREETING_TIME%: This pseudo-variable returns the 3-level day greeting time. The returned string depends on the locale-specific version of DR-DOS, f.e. "morning", "afternoon", or "evening" in the English version. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%HOUR%: This pseudo-variable returns the hours of the current time in 12-hour format without leading zeros, f.e. "1".."12". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%HOUR24%: This pseudo-variable returns the hours of the current time in 24-hour format in a 2-digit format with leading zeros, f.e. "00".."23". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. See also the similar pseudo-variable %_HOUR%. ;%MINUTE%: This pseudo-variable returns the minutes of the current time in a 2-digit format with leading zeros, f.e "00".."59". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. See also the similar pseudo-variable %_MINUTE%. ;%MONTH%: This pseudo-variable returns the months of the current date in a 2-digit format with leading zeros, f.e. "01".."12". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. See also the similar pseudo-variable %_MONTH%. ;%MONTH_NAME%: This pseudo-variable returns the month name of the current date. The returned string depends on the locale-specific version of DR-DOS, f.e. "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", or "December" in the English version. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%NDAY_OF_WEEK%: This pseudo-variable returns the number of day of the current week, f.e. "1".."7" (with "1" for Sunday). It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%OS_VERSION%: This pseudo-variable returns the version of the operating system depending on the current setting of the environment variable %VER%. If %VER% is not defined, %OS_VERSION% returns "off". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts, which may return versions also for non-DR-DOS versions of DOS. ;%SECOND%: This pseudo-variable returns the seconds of the current time in a 2-digit format with leading zeros, f.e. "00".."59". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. See also the similar pseudo-variable %_SECOND%. ;%SHORT_YEAR%: This pseudo-variable returns the year of the current date in a 2-digit format with leading zeros, f.e. "93".."99", "00".."92". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%YEAR% and %_YEAR%: Supported since
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
, the %YEAR% pseudo-variable returns the year of the current date in a 4-digit format, f.e. "1980".."2099". It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. DR-DOS 7.02 and higher added %_YEAR% for compatibility with
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, returning the same value. ;%/%: In COMMAND.COM of DR-DOS 7.02 and higher, this pseudo-variable returns the current
SwitChar A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
setting of the system, either "/" (DOS style) or "-" (Unix style). See also the related CONFIG.SYS directive
SWITCHAR A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
and the environment variable %SWITCHAR%. ;%_CODEPAGE%: This pseudo-variable returns the systems' current
code page In computing, a code page is a character encoding and as such it is a specific association of a set of printable characters and control characters with unique numbers. Typically each number represents the binary value in a single byte. (In some co ...
("1".."65533"), f.e. "
437 __NOTOC__ Year 437 ( CDXXXVII) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Aetius and Sigisvultus (or, less frequently, year 119 ...
", "
850 ''For codepage, see CP850.'' __NOTOC__ Year 850 ( DCCCL) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar. Events By place Europe * February 1 – King Ramiro I dies in his palac ...
", "
858 __NOTOC__ Year 858 ( DCCCLVIII) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. Events By place Europe * Summer – King Louis the German, summoned by the disaffected Frankish ...
". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the CHCP command. ;%_COLUMNS%: This pseudo-variable returns the current number of screen columns depending on the display mode, f.e. "40", "80", "132", etc. This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also a similar environment variable %$WIDTH% under DOS Plus. ;%_COUNTRY%: This pseudo-variable returns the systems' current
country code Country codes are short alphabetic or numeric geographical codes (geocodes) developed to represent countries and dependent areas, for use in data processing and communications. Several different systems have been developed to do this. The term '' ...
("1".."65534"), f.e. "1" for USA, "44" for UK, "49" for Germany, "20049" with
ISO 8601 ISO 8601 is an international standard covering the worldwide exchange and communication of date and time-related data. It is maintained by the Geneva-based International Organization for Standardization (ISO) and was first published in 1988, wi ...
, "21049" with ISO 8601 and
Euro The euro ( symbol: €; code: EUR) is the official currency of 19 out of the member states of the European Union (EU). This group of states is known as the eurozone or, officially, the euro area, and includes about 340 million citizens . ...
support. This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the CONFIG.SYS directive
COUNTRY A country is a distinct part of the world, such as a state, nation, or other political entity. It may be a sovereign state or make up one part of a larger state. For example, the country of Japan is an independent, sovereign state, while the ...
. ;%_DAY%: This pseudo-variable returns the days of the current date without leading zeros, f.e. "1".."31". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the similar pseudo-variable %DAY%. ;%_HOUR%: This pseudo-variable returns the hours of the current time in 24-hour format without leading zeros, f.e. "0".."23". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the similar pseudo-variable %HOUR24%. ;%_MINUTE%: This pseudo-variable returns the minutes of the current time without leading zeros, f.e "0".."59". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the similar pseudo-variable %MINUTE%. ;%_MONTH%: This pseudo-variable returns the months of the current date without leading zeros, f.e. "1".."12". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the similar pseudo-variable %MONTH%. ;%_ROWS%: This pseudo-variable returns the current number of screen rows depending on the display mode, f.e. "25", "43", "50", etc. This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See a similar environment variable %$LENGTH% under DOS Plus. ;%_SECOND%: This pseudo-variable returns the seconds of the current time without leading zeros, f.e. "0".."59". This variable was originally introduced by
4DOS 4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, ...
, but also became available with COMMAND.COM since DR-DOS 7.02. See also the similar pseudo-variable %SECOND%. ''System information variables'' supported by DR-DOS COMMAND.COM with networking loaded: ;%LOGIN_NAME%: This pseudo-variable returns the user name. This always worked with NETX, but it will also work with
Personal NetWare NetWare Lite and Personal NetWare are a series of discontinued peer-to-peer local area networks developed by Novell for DOS- and Windows-based personal computers aimed at personal users and small businesses in the 1990s. NetWare Lite In 1991, ...
's ODI/ VLM if the current drive is a PNW-mapped drive (otherwise an empty string is returned). See also the similarly named environment variable %LOGINNAME%. ;%P_STATION%: This pseudo-variable returns the physical station number in a format "????????????". The value depends on the
MAC address A media access control address (MAC address) is a unique identifier assigned to a network interface controller (NIC) for use as a network address in communications within a network segment. This use is common in most IEEE 802 networking techno ...
of the network adapter, but can be overridden. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%STATION%: This pseudo-variable returns the logical station number starting with "1" for the first client. The numbers are assigned by the file server and remain static for as long as the
IPX Internetwork Packet Exchange (IPX) is the network layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol. The IPX/SPX protocol suite was very p ...
connection remains established. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. ;%FULL_NAME%: This pseudo-variable returns the full name of the logged in user, if available. It resembles an identically named ''identifier variable'' in
Novell NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
login scripts. See also the related pseudo-variable %LOGIN_NAME%.


Windows

''Dynamic environment variables'' (also named ''internal variables'' or ''system information variables'' under DOS) are pseudo-environment variables supported by
CMD.EXE Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
when command-line extensions are enabled, and they expand to various discrete values whenever queried, that is, their values can change when queried multiple times even within the same command. While they can be used in batch jobs and at the prompt, they are not stored in the environment. Consequently, they are neither listed by SET nor do they exist for external programs to read. They are not case-sensitive. Indirectly, they are also supported under Windows' COMMAND.COM, which has been modified to internally call CMD.EXE to execute the commands. ;%CD%: This pseudo-variable expands to the current directory equivalent to the output of the command CD when called without arguments. While a long filename can be returned under CMD.EXE depending on the current directory, the fact that the current directory will always be in 8.3 format under COMMAND.COM will cause it to return a short filename under COMMAND.COM, even when COMMAND internally calls CMD. ;%CMDCMDLINE%: This pseudo-variable expands to the original startup parameters of
CMD.EXE Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
, f.e. "C:\Windows\system32\cmd.exe". Under Windows' COMMAND.COM, this may return something like "C:\Windows\system32\cmd.exe /c ..." due to the fact that COMMAND.COM calls CMD.EXE internally. ;%CMDEXTVERSION%: This pseudo-variable expands to the version of the command-line extensions of
CMD.EXE Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS operating systems. On Windows CE .NET 4.2, Windo ...
, if enabled (e.g. "1" under
Windows NT Windows NT is a proprietary graphical operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems sc ...
, "2" under
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RTM), releas ...
and
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
). ;%DATE%: This pseudo-variable expands to the current date. The date is displayed according to the current user's
date format A calendar date is a reference to a particular day represented within a calendar system. The calendar date allows the specific day to be identified. The number of days between two dates may be calculated. For example, "25 " is ten days after " ...
preferences. ;%ERRORLEVEL%: This pseudo-variable expands to the last set error level, a value between "0" and "255" (without leading zeros). External commands and some internal commands set error levels upon execution. See also the identically named pseudo-variable %ERRORLEVEL% under DR-DOS and the IF ERRORLEVEL command. ;%HIGHESTNUMANODENUMBER%: This pseudo-variable returns the number of the highest
NUMA Nuclear mitotic apparatus protein 1 is a protein that in humans is encoded by the ''NUMA1'' gene. Interactions Nuclear mitotic apparatus protein 1 has been shown to interact with PIM1, Band 4.1, GPSM2 G-protein-signaling modulator 2, also call ...
node. ;%RANDOM%: This pseudo-variable returns a random number between "0" and "32767". ;%TIME%: This pseudo-variable returns the current time. The time is displayed according to the current user's time format preferences. If the %TIME% and %DATE% variables are both used, it is important to read them both in this particular order in rapid succession in order to avoid midnight-rollover problems.


Other shells

Unix-like shells have similar dynamically generated variables, bash's $RANDOM being a well-known example. However, since these shells have a concept of local variables, they are described as special local variables instead.


See also

*
Variable (computer science) In computer programming, a variable is an abstract storage location paired with an associated symbol, symbolic name, which contains some known or unknown quantity of information referred to as a ''value (computer science), value''; or in simpler ...
*
List of Unix commands This is a list of Unix commands as specified by IEEE Std 1003.1-2008, which is part of the Single UNIX Specification (SUS). These commands can be found on Unix operating systems and most Unix-like operating systems. List See also * List of G ...
*
List of DOS commands This article presents a list of commands used by DOS operating systems, especially as used on x86-based IBM PC compatibles (PCs). Other DOS operating systems are not part of the scope of this list. In DOS, many standard system commands were pro ...
*
Special folder On Microsoft Windows, a special folder is a folder that is presented to the user through an interface as an abstract concept instead of an absolute folder path. (The synonymous term shell folder is sometimes used instead.) Special folders mak ...
*
Modules Environment The Environment Modules system is a tool to help users manage their Unix or Linux shell environment, by allowing groups of related environment-variable settings to be made or removed dynamically. Modules has been around since the early 1990s an ...
*
PWB shell The PWB shell (also known as the Mashey shell) was a Unix shell. History The PWB shell was a modified (and generally constrained to be upward-compatible) version of the Thompson shell with additional features to increase usability for programmin ...
*
Windows Registry The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and use ...


Notes


References


Further reading

*


External links

* * * * *
User Environment Variables

fix setx.exe not found bug
{{Windows commands Operating system technology