Setx - створення або зміна змінних середовища windows

Відео: Ruby on Rails by Leila Hofer

команда SETX використовується для створення нових і зміни існуючих змінних середовища оточення в командному рядку Windows. Змінні оточення, це змінні, що приймаються значення яких характеризують програмне середовище, в якій виконується поточна програма - шляхи системних файлів, відомості про апаратні засоби, каталоги користувачів і т.п. Значення змінних середовища формуються в процесі завантаження Windows, реєстрації користувача в системі, при виконанні окремих програм або за допомогою команди SET. Команда SetX, є більш потужним засобом адміністрування Windows, що дозволяє змінювати системні або призначені для користувача змінні не тільки на локальному комп`ютері, але і на віддаленому. Змінні можна задавати за допомогою аргументів, параметрів реєстру або введення з файлу. На відміну від команди SET, зміни змінних оточення, зроблені командою SetX, записуються в реєстр і діють не тільки в даному сеансі командного рядка, але і в будь-якому іншому.
Спочатку, утиліта SetX.exe входила до складу Windows 2000 Resource Kit в якості додаткового засобу системного адміністрування, але починаючи з Windows Vista - входить в стандартний пакет поставки системи.

Використовуються три варіанти синтаксису команди SetX:

Синтаксис 1:

SETX [/ S система [/ U [домен ] користувач [/ P [пароль]]]] var значення [/ M]

Синтаксис 2:

SETX [/ S система [/ U [домен ] користувач [/ P [пароль]]]] var / K шлях [/ M]

Синтаксис 3:

SETX [/ S система [/ U [домен ] користувач [/ P [пароль]]]] / F файл / X [/ D роздільники]


Параметри командного рядка:

/ S система - Ім`я або IP-адреса віддаленого комп`ютера. Якщо не вказано, то команда виконується по відношенню до локального комп`ютера.

/ U домен ] користувач - Призначений для користувача контекст, в якому повинна виконуватися ця команда.

/ P пароль - Пароль для цього користувача контексту.

var - Задається змінна середовища.

значення - Значення, яка призначається змінної середовища.

/ K шлях - Завдання змінної за інформацією, одержали в параметрі реєстру. Шлях повинен задаватися в форматі кущ розділ ... параметр. Наприклад, HKEY_LOCAL_MACHINE System CurrentControlSet Control timeZoneInformation StandardName.

/ F файл - Ім`я текстового файлу, який слід використовувати.

/ A x, y - Завдання абсолютних координат файлу (рядок X, елемент Y) як параметрів пошуку в файлі.

/ R x, y рядок - Завдання координат щодо значення "рядок" як параметрів пошуку.

/ M - Вказівка ​​створення змінної середовища на системному рівні (HKEY_LOCAL_MACHINE). За замовчуванням змінна середовища створюється в розділі HKEY_CURRENT_USER на рівні користувача.

/ X - Відображення вмісту файлу з координатами x, y.

/ D роздільники - Вказівка ​​додаткових роздільників, таких як "," або "". Вбудовані роздільники: символи пробілу, табуляції, повернення каретки і переведення рядка. Додатковим роздільником можетбить будь-який знак ASCII. Максимальне число роздільників, включаючи вбудовані, дорівнює 15. Висновок довідки з використання.





Примітки.

1) SETX записує змінні в головну середу в реєстрі.

2) На локальному комп`ютері змінні, створені або змінені даними засобом, будуть доступні в майбутньому вікні командного рядка, але не в поточному вікні CMD.exe.

3) На віддаленому комп`ютері змінні, створені або змінені даними засобом, будуть доступні з наступного сеансу входу.

4) Допустимі типи параметрів реєстру: REG_DWORD, REG_EXPAND_SZ, REG_SZ, REG_MULTI_SZ.

5) Підтримувані кущі: HKEY_LOCAL_MACHINE (HKLM), HKEY_CURRENT_USER (HKCU).

6) Роздільники визначаються з урахуванням регістру.

7) Значення типу REG_DWORD витягуються з реєстру в десятковому форматі.


Значення змінних оточення (Environment variables) записуються в реєстр:

Змінні - в розділ: HKEY_CURRENT_USER Environment




Системні змінні - в розділ HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager Environment

Якщо значення будь-яких змінних змінені в даній сесії командного рядка Windows, то зміни вступлять в силу тільки в новому сеансі, після перезапуску CMD (або PowerShell). Для зміни системних змінних (ключ / M) потрібні права адміністратора ( "Запуск від імені адміністратора" в Windows 7).
Змінні запам`ятовуються в профілі і дійсні, для переміщуваного профілю, на будь-якому комп`ютері домену.
Якщо одне і те ж ім`я змінної є в середовищі користувача і в середовищі системи, то значення для користувача змінній має більш високий пріоритет.

Для редагування змінних можна використовувати панель керування - Панель управління - Система - Додатково - Змінні середовища (Control Panel - System - Advanced - Environment Variables)

Для видалення змінних середовища можна скористатися панеллю керування або видаленням ключів редактором реєстру або консольної утилітою REG

REG delete HKCU Environment / V MyVar - видалити призначену для користувача змінну MyVar

Присвоєння змінної порожнього значення командою Setx не стирає її імені з реєстру. Якщо наприклад, є для користувача змінна з порожнім значенням, то по команді SET вона не відображається. І при наявності системної змінної з таким же ім`ям, її значення стане недоступним через більш високого пріоритету для користувача змінній. Поетом, щоб уникнути конфліктів бажано не залишати в реєстрі сміття з змінних з неприсвоєння значеннями.

Приклади використання Setx:


SETX MACHINE COMPAQ - створити на локальному комп`ютері змінну середовища користувача з ім`ям MACHINE, приймаючу значення COMPAQ. Для перегляду значень змінних можна скористатися командою echo:

echo% MACHINE% - відобразити значення змінної MACHINE

Можна також використовувати команду SET в ланцюжку з командою пошуку тексту FIND:

set | Find / i "machine"

setx.exe MACHINE "Asustek Computer" / M - створити на локальному комп`ютері системну змінну MACHINE, приймаючу значення Asustek Computer. Якщо значення змінної містить прогалини, то воно полягає в подвійні лапки.Setx MYPATH "" - скинути значення змінної оточення MYPATH (Зробити порожнім)

SETX MYPATH "% PATH%" - створити на локальному комп`ютері пользрвательскую змінну оточення з ім`ям MYPATH , приймаючу поточне значення змінної PATH - шляхи пошуку виконуваних файлів, сформовані на момент виконання команди, наприклад, Path = С: Program Files Far-С: Program Files NVIDIA Corporation PhysX Common-С: WINDOWS system32-С: WINDOWS-С: WINDOWS System32 Wbem-. SETX MYPATH ~ PATH ~ - в якості значення змінної буде записаний рядок, в якій символи ~ будуть замінені на символи %, тобто в якості значення змінної MYPATH буде записаний рядок % PATH%

SETX / S Server / U Mydomain Admin / P AdmPass MYPATH "% PATH%" - встановити на віддаленому комп`ютері Server значення змінної оточення MYPATH рівне поточного значення змінної PATH локального комп`ютера. Для підключення до віддаленого комп`ютера використовується ім`я користувача Admin в домені Mydomain і пароль AdmPass

SETX TZONE / K HKEY_LOCAL_MACHINE System CurrentControlSet Control timeZoneInformation StandardName - встановити значення середовища TZONE рівним вмісту ключа реєстру

HKLM System CurrentControlSet Control timeZoneInformation StandardName
При виконанні команди SetX відображається витягнуте значення ключа реєстру і результат записи нового значення змінної:

Вилучено значення: "@ tzres.dll, -912".

Успіх. Вказане значення збережено.



setx / s 192.168.0.1 / U admin / P Admpass BUILD / K "HKLM Software Microsoft Windows NT CurrentVersion CurrentBuildNumber" - створити на віддаленому комп`ютері з IP-адресою 192.168.0.1 змінну BUILD, приймаючу значення ключа реєстру HKLM Software Microsoft Windows NT CurrentVersion CurrentBuildNumber

SETX / F ipconfig.out / X - розбір вмісту текстового файлу ipconfig.out з висновком координат кожного поля у вигляді x, y - (номер рядка, номер колонки) .Нумерація рядків і колонок починається з 0.

Для того, щоб отримати наочне уявлення про обробку вмісту текстового файлу, спробуйте створити текстовий файл такого змісту:

a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
c1 c2 c3 c4 c5
d1 d2 d3 d4 d5

Результат обробки цього вмісту командою SetX:

(0,0 a1) (0,1 a2) (0,2 a3) (0,3 a4) (0,4 a5)
(1,0 b1) (1,1 b2) (1,2 b3) (1,3 b4) (1,4 b5)
(2,0 c1) (2,1 c2) (2,2 c3) (2,3 c4) (2,4 c5)
(3,0 d1) (3,1 d2) (3,2 d3) (3,3 d4) (3,4 d5)


Таким чином, елемент (0,0 a1) - це координати 0,0, яким відповідає значення a1

SETX Key1 / F file.out / A 1,2 привласнити змінної Key1 значення з текстового файлу file.out відповідне вмісту другого рядка третьої колонки - в даному прикладі - b3

SETX Key2 / F file.out / R 0,2 b3 привласнити змінної Key2 значення поля з текстового файлу. Для пошуку в текстовому файлі використовується шаблон b3 і значення витягується за координатами 0,2 щодо знайденого b3, тобто в даному прикладі - це буде b5 (Зсув по рядках = 0, зсув по колонках = 2)

Поділися в соціальних мережах:

Схожі
Команда runas - запуск програми від імені іншого користувача windows.Команда runas - запуск програми від імені іншого користувача windows.
Path - відобразити або змінити шляху пошуку виконуваних файлів.Path - відобразити або змінити шляху пошуку виконуваних файлів.
Змінні оточення в linuxЗмінні оточення в linux
Використання групової політики для розширення можливостей "консолі відновлення"Використання групової політики для розширення можливостей "консолі відновлення"
Команда exit - завершити роботу командного процесора або поточного командного файлу.Команда exit - завершити роботу командного процесора або поточного командного файлу.
Команда ftype - перегляд і зміна розширень файлів і зіставлених їм додатківКоманда ftype - перегляд і зміна розширень файлів і зіставлених їм додатків
Змінні в cssЗмінні в css
Команда echo - висновок тексту на екран консоліКоманда echo - висновок тексту на екран консолі
Довідкові змінні phpДовідкові змінні php
Команда for - організація циклічної обробки результатів виконання інших команд, списків, і рядків в…Команда for - організація циклічної обробки результатів виконання інших команд, списків, і рядків в…
» » Setx - створення або зміна змінних середовища windows