В основном все переменные окружения оболочки MS-DOS определяются с помощью команды SET в файле Autoexec.bat. Исключением являются следующие переменные:
- CONFIG - определяется в файле Config.sys,
- PROMPT - определяется отдельной командой DOS - оболочки,
- PATH - задается отдельно в файле Autoexec.bat.
Команда SET без параметров выдает текущее состояние переменных окружения.
Команда
SET <имя>=<значение>
присваивает переменной с идентификатором <имя> строку <значение>. В строке <значение> делается различие между прописными и строчными буквами, а в имени переменной такого различия нет.
Команда
SET <имя>=
отменяет все значения переменной с идентификатором <имя> и удаляет ее из системного окружения.
Пример:
SET TMP=C:\TMP
присваивает значение переменной TMP, которые старые прикладные программы фирмы Microsoft использовали для определения каталога со временными файлами.
set tmp=C:\TMP
та же команда, набранная строчными буквами.
SET FILE=scandisk.log
переменной FILE присваивается имя файла scandisk.log. Теперь эту переменную можно использовать вместо имени этого файла, например:
type %FILE% | more - выдает поэкранную распечатку файла scandisk.log
Замечание 1. Автор не советует использовать в команде set никаких лишних пробелов, Так, из за указания пробелов перед и после знака "=" в операционной системе MS-DOS v. 6.0 в команде set TMP = C:\TMP переменная TMP у автора не добавилась в окружение DOS. Указание же пробелов после знака "=" при определении переменной PATH в любой операционной системе всегда приводит к очистке этой переменной.
Замечание 2. Задание и сброс переменных окружения возможно только в файле Autoexec.bat и в "чистой" командной строке MS-DOS. Задание же переменных окружения в файловых оболочках не приведет к изменению значений переменных окружения. В операционных же оболочках (и в графических оболочках MS WINDOWS 95/98/NT) изменение переменных окружения произойдет только на текущий сеанс эмуляции MS-DOS).