Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование переменных среды в Cmd.exe

Поиск

 

Среда командной оболочки Cmd.exe определяется переменными, задающими поведение командной оболочки и операционной системы. Имеется возможность определить поведение среды командной оболочки или среды всей операционной системы с помощью двух типов переменных среды: системных и локальных. Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe.

Системные переменные среды заданы заранее в операционной системе и доступны для всех процессов Windows XP. Только пользователи с привилегиями администратора могут изменять эти переменные. Эти переменные наиболее часто используются в сценариях входа в систему.

Локальные переменные среды доступны, только когда пользователь, для которого они были созданы, вошел в систему. Локальные переменные из куста HKEY_CURRENT_USER подходят только для текущего пользователя, но определяют поведение глобальной среды операционной системы.

В следующем списке представлены различные типы переменных в порядке убывания приоритета.

  1. Встроенные системные переменные
  2. Системные переменные куста HKEY_LOCAL_MACHINE
  3. Локальные переменные куста HKEY_CURRENT_USER
  4. Все переменные среды и пути указаны в файле Autoexec.bat.
  5. Все переменные среды и пути указаны в сценарии входа в систему (если он имеется).
  6. Переменные, используемые интерактивно в сценарии или пакетном файле

В командной оболочке каждый экземпляр Cmd.exe наследует среду своего родительского приложения. Поэтому можно изменять переменные в новой среде Cmd.exe, что не повлияет на среду родительского приложения.

В следующей таблице приведен список системных и локальных переменных среды для Windows XP.

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

 

Установка переменных среды

 

Используйте команду set для создания, удаления или отображения переменных среды. Команда set изменяет переменные только в среде текущей оболочки.

Чтобы отобразить переменную, в командной строке введите:

set имя_переменной

Чтобы добавить переменную, в командной строке введите:

set variablename= значение

Чтобы удалить переменную, в командной строке введите:

set имя_переменной =

Имеется возможность использовать большинство символов в качестве значений переменных, в том числе пробел. При использовании специальных символов, таких как <, >, &, или ^, перед ними следует помещать управляющий символ (^) или кавычки. При использовании кавычек они включаются в значение переменной, так как все символы, следующие после знака равенства принимаются за значение переменной. Учтите следующие примеры.

  • Чтобы создать значение переменной new&name,введите:

set varname=new^&name

  • Чтобы создать значение переменной "new&name",введите:

set varname="new&name"

  • При вводе в командной строке set varname=new&name появляется следующее сообщение об ошибке: "'name' is not recognized as an internal or external command, operable program or batch file."

В именах переменных регистр символов не учитывается. Однако, команда set отображает значение переменной так, как оно было введено. Можно комбинировать символы нижнего и верхнего регистра в именах переменных, чтобы облегчить восприятие кода (например, ИмяПользователя).

Примечания

  • Максимальный размер отдельной переменной среды составляет 8192 байта.
  • Максимальный общий размер всех переменных среды, включая имена переменных и знак равенства, составляет 65 536 Кбайт.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 144; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.3.204 (0.007 с.)