Переменные окружения в MS Windows

Переменные окружения содержат информацию о системных свойствах, которые используются различными программами. Они существенно упрощают разработку программ и системное администрирования. Как правило эти переменные предназначены для людей с техническим образованием, но некоторые из них могут быть полезны обычным домашним пользователям.Переменные окружения используются в операционных системах на протяжении многих лет, а также присутствуют в настоящее время в DOS, Windows, Linux и Unix. Под словом «окружение» следует понимать различные системные свойства компьютера и базовые данные системы. Вот одно из определений корпорации Microsoft:

Переменные окружения — это строки, которые содержат такую информацию как имя устройства, путь и имя файла. От них зависит работа различных приложений. Например переменная TEMP определяет местоположение для временных файлов, создаваемых программами.

Значения некоторых переменных задаются при входе в систему. Эти переменные иногда называют предопределенными переменными. Они содержат информацию такую как имя пользователя и путь к его домашней папке.

Существуют также и динамические переменные окружения, значения которых постоянно изменяются, например переменная DATE содержит информацию о текущей дате, а переменная TIME о времени.

Для использования значений переменных в скриптах и коммандной строке, имя переменной окружают знаками процента, например %TEMP%. При выполнении команды содержащей переменную окружения, значение переменной подставляется автоматически. Например при выполнении команды %SYSTEMROOT%\system32\notepad.exe будет запущена программа «блокнот», которая находится в папке system32 внутри папки в которую установлен Windows (обычно это C:\Windows\system32\notepad.exe). Но так как Windows может быть установлен на другой диск или в другую папку, нельзя однозначно утверждать, что путь к программе блокнот всегда будет C:\Windows\system32\notepad.exe. В данном примере переменная окружения SYSTEMROOT избавила нас от необходимости определять, где установлен Windows.

Для вывода значения переменной можно воспользоваться командой echo, например echo %TIME%. Для просмотра всех предопределенных переменных и их значений можно воспользоваться командой set.

Наиболее используемые предопределенные переменные

%ALLUSERSPROFILE% — содержит путь к папке, где программам рекомендуются сохранять данные, которые используются всеми пользователями компьютера.
%APPDATA% — содержит путь к папке, где программам рекомендуются сохранять данные, которые используются текущим пользователем компьютера.
%COMPUTERNAME% — содержит информацию о имени компьютера
%HOMEDRIVE% — содержит информацию о диске, на котором записана домашняя папка текущего пользователя
%HOMEPATH% — содержит информацию о полном пути к домашней папке текущего пользователя
%NUMBER_OF_PROCESSORS% — содержит информацию о количестве процессоров компьютера
%PATH% — содержит информацию о путях, в которых следует искать файлы, если не указан абсолютный путь
%SYSTEMDRIVE% — содержит имя диска, на котором установлена ОС Windows
%SYSTEMROOT% и %WINDIR% — содержат информацию о полном пути, по которому установлена ОС Windows
%TEMP% и %TMP% — содержат информации о пути к папке, где программам следует создавать временные файлы
%USERNAME% — содержит имя текущего пользователя
процессоров компьютера

Наиболее используемые динамические переменные

%DATE% — содержит информацию о текущей дате
%TIME% — содержит информацию о текущем времени
%CD% — содержит информацию о пути к текущей папке
%RANDOM% — содержит случайное число между 0 и 32767

Добавление, изменение и удаление переменных окружения

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

Для добавления или изменения переменной следует выполнить команду set переменная=значение, где переменная и значение — имя и требуемое значение переменной.

Для удаления переменной следует выполнить команду set переменная=, т. е. присвоить ей «пустое» значение.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *