Архив

Публикации с меткой ‘Скриптинг’

Переменные среды Windows

11 января 2010

Одно из главных правил написания скриптов и пакетных файлов в Windows гласит, что по возможности необходимо использовать переменные среды. Это обеспечит совместимость скрипта с любым компьютером и сервером и исключит возможные проблемы при перенастройке системы. Это раз. Два – переменные среды бывают разные, в том числе используемые для получения специфической системной информации, вроде имени компьютера или архитектуры процессора. Они могут использоваться, например, для инвентаризации. В общем и целом, это очень полезная вещь, применимая во многих случаях. Приведу список наиболее используемых переменных сред:

Название

Описание

AllUsersProfile Размещение профиля “All Users”
AppData Размещение данных приложений по умолчанию
CD Путь текущей папки
CMDCMDLine Путь до файла cmd.exe, используемого текущим сеансом
CMDExtVersion Версия Command Processor Extensions
CommonProgramFiles Расположение директории “Common Files”
ComputerName Имя компьютера
Date Текущая дата
ErrorLevel Код ошибки последней использовавшейся команды
HomeDrive Имя диска рабочей станции, связанного с основной директорией пользователя. Обычно основной каталог пользователя указывается в атрибутах учетной записи
HomePath Путь к основной директории пользователя
HomeShare Сетевой путь к основной директории пользователя
LogonServer Имя контроллера домена, использовавшегося для авторизации текущего пользователя
Number_Of_Processors Количество зарегистрированных в системе процессоров
OS Версия операционной системы
Path Путь поиска исполняемых файлов
PathExt Список расширений файлов, рассматриваемых операционной системой как исполняемых
Processor_Architecture Архитектура процессора(ов)
Processor_Identifier Описание процессора(ов)
Processor_Level Номер модели процессора(ов)
Processor_Revision Ревизия процессора(ов)
ProgramFiles Путь к директории “Program Files”
Prompt Параметры командной строки текущего интерпретатора
SystemDrive Системный диск (обычно тот, на котором установлена Windows)
SystemRoot Путь к корневой директории Windows
Temp (или TMP) Временные папки по умолчанию. Отдельно взятые приложения могут требовать переменную TMP, которая обычно совпадает с TEMP
Time Текущее время
UserDomain Короткое имя домена, которому принадлежит текущий пользователь
UserName Имя текущего пользователя
UserProfile Путь к директории профиля текущего пользователя
WinDir Директория, в которую установлена Windows

Значения переменных устанавливаются командой SET. Например, установим переменной TMP значение C:Temp:

SET TMP=C:Temp

SET – единственная команда, при выполнении которой переменную не надо заключать в “%”. Обычно переменные среды заключаются в символы % с обеих сторон. Например, просмотрим текущее значение переменной UserDomain:

ECHO %UserDomain%
ROADCENTER

Пользователь, под которым я работаю, принадлежит домену ROADCENTER.

За сим микро-ревью можно считать законченным. Подробнее о применении переменных сред при решении конкретных задач см. следующие статьи.

Default ,