DCL is the language for command lines and batch files of RSX and VMS operating systems; it stands for Digital Command Language (*Digital* was a computer and software vendor 1958-1998).
DIGITAL Command Language is the standard command language adopted by most of the DEC operating systems. It evolved from the IAS, TOPS-20, and RT-11 operating systems and was implemented as a standard across most of Digital's operating systems, notably RSX-11, but took its most powerful form in the openvms operating system.
DCL is a scripting language supporting several datatypes, including strings, integers, bit arrays, arrays, and booleans, but not floating point numbers. Access to OpenVMS system services (kernel API) is through lexical functions, which perform the same as their compiled language counterparts and allow scripts to get information on system state. DCL includes IF-THEN-ELSE, access to all the RMS file types including stream, indexed, and sequential, but unfortunately lacks a DO-WHILE or other looping construct, requiring users to make do with IF and GOTO-label statements instead.
Indirect variable references are possible. Though it largely resembles most other scripting languages, one of its most unique attributes is how a batch file is treated differently from a terminal command input with regard to commands and pure data:
$ TYPE SYS$INPUT:
This is an example of using the TYPE verb
in the DCL language.
$ EXIT
Command files are extremely powerful and convenient for performing many system operations, including privileged operations. Many system functions are implemented by command file due to the great challenge of writing an equivalent program using the (unwieldy) system API.
References: