Будь-який системний адміністратор, який витрачає непоганочас у командному рядку чи пакетних скриптах, ймовірно, добре знає вбудовані змінні середовища, що пропонує Windows (тобто Path, WinDir, ProgramFiles, UserProfile тощо). Якщо ви знову і знову використовуєте певне значення, чи не було б чудово, якби у вас була власна змінна, яку ви можете використовувати так само, як і вбудовані значення?
За допомогою декількох клацань миші можна створити та підтримувати власні змінні середовища, які є глобальними у системі та переживають перезавантаження.
Створення користувацької змінної середовища системи
Створення нової глобальної змінної системи доситьпроста і є однією з таких особливостей, що приховуються перед простором зору. Зверніть увагу, що скріншоти призначені для Windows Server 2008, проте процес для більшості версій Windows майже ідентичний лише для декількох екранів.
На Панелі управління відкрийте параметр Система (по черзі можна клацнути правою кнопкою миші на Мій комп'ютер і вибрати Властивості). Виберіть посилання «Розширені налаштування системи».
У діалоговому вікні "Властивості системи" натисніть "Змінні середовища".
У діалоговому вікні "Змінні середовища" натисніть кнопку "Нова" під розділом "Змінні системи".
Введіть також назву нової змінної, а також значення та натисніть кнопку ОК.
Тепер ви повинні побачити вашу нову змінну, перелічену в розділі «Змінні системи». Клацніть OK, щоб застосувати зміни.
Тепер ви можете отримати доступ до нової змінної системного середовища, як і будь-який інший. Ви можете використовувати його з командного рядка або пакетних сценаріїв, не визначаючи його.
Використання користувацької змінної середовища
Як зазначено вище, ваша змінна середовище користувачане відрізняється від будь-якої іншої системної змінної, оскільки ви можете посилатися на неї з командного рядка та всередині скриптів. Для швидкого прикладу розглянемо цей пакетний сценарій:
@ECHO OFF
НАЗВА Глобальний тест на змінну середовище
ECHO.
Значення системи ECHO NotifyEmail
ECHO NotifyEmail =% NotifyEmail%
ECHO.
НАСТРОЙКА
Переважна глобальна змінна ECHO у цьому сценарії…
SET NotifyEmail=jfaulkner@otheremail.com
ECHO NotifyEmail =% NotifyEmail%
ECHO.
ECHO Вихід із сценарію перевизначення…
ENDLOCAL
ECHO.
Значення системи ECHO NotifyEmail
ECHO NotifyEmail =% NotifyEmail%
ECHO.
ECHO.
ECHO.
ПАУЗА
Коли буде виконано, то виходить саме те, що ви очікували:
Ідеї використання
Реальна сила змінних користувальницького середовищавводиться, коли ви використовуєте їх у своїх сценаріях. У нашому прикладі ми встановили змінну під назвою "NotifyEmail", на яку ми могли б посилатися в будь-якій кількості скриптів без необхідності жорсткого кодування значення. Тож у випадку, якщо нам потрібно змінити адресу електронної пошти, ми просто оновлюємо системну змінну, і скрипти, на які впливає вплив, використовуватимуть це нове значення, не потребуючи оновлення кожного сценарію окремо.
Це не лише економить час, але й захищаєпроти ситуації, коли ви забудете оновити певний скрипт і використовується "мертве" значення. Крім того, у випадку, якщо вам потрібно буде замінити системну змінну в певному сценарії, ви можете бачити, що в нашому прикладі вище це повністю підтримується.
Ось кілька ідей, де ви можете застосувати системні змінні замість локальних змінних областей:
- Адреси електронної пошти (як у нашому прикладі)
- Розташування резервної папки
- URL-адреси та FTP-сайти
- Метричні та порогові значення
Ще одна чудова особливість використання системизмінні - у вас є єдине місце, де ви можете редагувати або переглядати значення змінних. Простіше кажучи, ви можете потенційно застосувати оновлення до декількох скриптів, редагуючи змінні середовища в одному місці.