Среда командной оболочки Cmd.exe определяется переменными, задающими поведение командной оболочки и операционной системы. Имеется возможность определить поведение среды командной оболочки или среды всей операционной системы с помощью двух типов переменных среды: системных и локальных. Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe. Системные переменные среды заданы заранее в операционной системе и доступны для всех процессов Windows XP. Только пользователи с привилегиями администратора могут изменять эти переменные. Эти переменные наиболее часто используются в сценариях входа в систему. Локальные переменные среды доступны, только когда пользователь, для которого они были созданы, вошел в систему. Локальные переменные из куста HKEY_CURRENT_USER подходят только для текущего пользователя, но определяют поведение глобальной среды операционной системы. В следующем списке представлены различные типы переменных в порядке убывания приоритета: встроенные системные переменные, системные переменные куста HKEY _ LOCAL _ MACHINE, локальные переменные куста HKEY _ CURRENT _ USER, все переменные среды и пути указаны в файле Autoexec.bat, все переменные среды и пути указаны в сценарии входа в систему (если он имеется), переменные, используемые интерактивно в сценарии или пакетном файле.
В командной оболочке каждый экземпляр Cmd.exe наследует среду своего родительского приложения. Поэтому можно изменять переменные в новой среде Cmd.exe, что не повлияет на среду родительского приложения. В следующей таблице приведен список системных и локальных переменных среды для Windows XP.
Переменная
| Тип
| Описание
|
%ALLUSERSPROFILE%
| Локальная
| Возвращает размещение профиля «All Users».
|
%APPDATA%
| Локальная
| Возвращает используемое по умолчанию размещение данных приложений.
|
%CD%
| Локальная
| Возвращает путь к текущей папке.
|
%CMDCMDLINE%
| Локальная
| Возвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe.
|
%CMDEXTVERSION%
| Системная
| Возвращает номер версии текущих расширений обработчика команд.
|
%COMPUTERNAME%
| Системная
| Возвращает имя компьютера.
|
%COMSPEC%
| Системная
| Возвращает путь к исполняемой командной оболочке.
|
%DATE%
| Системная
| Возвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe. Дополнительные сведения о команде date см. в разделе Date.
|
%ERRORLEVEL%
| Системная
| Возвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки.
|
%HOMEDRIVE%
| Системная
| Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
|
%HOMEPATH%
| Системная
| Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
|
%HOMESHARE%
| Системная
| Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
|
%LOGONSEVER%
| Локальная
| Возвращает имя контроллера домена, который проверял подлинность текущей сессии.
|
%NUMBER_OF_PROCESSORS%
| Системная
| Задает количество процессоров, установленных на компьютере.
|
%OS%
| Системная
| Возвращает имя операционной системы. При использовании Windows 2000 имя операционной системы отображается как Windows_NT.
|
%PATH%
| Системная
| Указывает путь поиска для исполняемых файлов.
|
%PATHEXT%
| Системная
| Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
|
%PROCESSOR_ARCHITECTURE%
| Системная
| Возвращает архитектуру процессора. Значения: x86, IA64.
|
%PROCESSOR_IDENTFIER%
| Системная
| Возвращает описание процессора.
|
%PROCESSOR_LEVEL%
| Системная
| Возвращает номер модели процессора, установленного на компьютере.
|
%PROMPT%
| Локальная
| Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe.
|
%PROCESSOR_REVISION%
| Системная
| Возвращает номер модификации процессора.
|
%RANDOM%
| Системная
| Возвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe.
|
%SYSTEMDRIVE%
| Системная
| Возвращает имя диска, содержащего корневой каталог Windows XP (т. е. системный каталог).
|
%SYSTEMROOT%
| Системная
| Возвращает размещение системного каталога Windows XP.
|
%TEMP% и %TMP%
| Системная и пользовательская
| Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP.
|
%TIME%
| Системная
| Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.
|
%USERDOMAIN%
| Локальная
| Возвращает имя домена, содержащего список учетных записей пользователей.
|
%USERNAME%
| Локальная
| Возвращает имя пользователя, выполнившего вход в систему.
|
%USERPROFILE%
| Локальная
| Возвращает размещение профиля для текущего пользователя.
|
%WINDIR%
| Системная
| Возвращает размещение каталога операционной системы.
|
Чтобы испытать действие командной строки, я, запустив её, решила ввести несколько команд. Первым делом я ввела команду help. На экране стал доступным список всех остальных команд. Потом я ввела команду time. На экране отобразилось текущее время с точностью до миллисекунд и запрос на введение нового времени.