Чим відрізняються користувацькі змінні від системних змінних?


162

У чому різниця між призначеним для користувача змінним , такими як PATH, TMPі так далі і тому системної змінної?

Я випадково видалив змінну користувача PATH. Що я повинен робити?

Відповіді:


130

Клацніть правою кнопкою миші Мій комп'ютер і перейдіть до Властивості-> Додатково-> Змінні середовища ...

Наведені вище - це змінні користувача, а нижче - системні змінні. Елементи поєднуються під час створення середовища для програми. Системні змінні поділяються для всіх користувачів, але змінні користувача є лише для вашого облікового запису / профілю.

Якщо ви видалили системні файли випадково, підберіть Редактор реєстру, а потім перейдіть до HKLM\ControlSet002\Control\Session Manager\Environment(при умові, що ваш поточний набір керування не є ControlSet002). Потім знайдіть Pathзначення та скопіюйте дані у Pathзначення HKLM\CurrentControlSet\Control\Session Manager\Environment. Можливо, вам доведеться перезавантажити комп'ютер. (Сподіваємось, ці резервні копії не були занадто давно, і вони містять необхідну інформацію.)


1
Я видалив користувачів, так це добре чи погано, чи можна повторно користуватися користувачами?
новобранець

1
@rookie: Ах ... добре, видалення змінних користувачів не зовсім так погано , як правило, але це дійсно залежить. Ви можете спробувати відновити систему, і це, мабуть, спрацює, але мені особисто це не подобається через різні інші проблеми, які можуть виникнути. Ви можете спробувати перейти HKU\.DEFAULT\Environmentі скопіювати все звідти до HKCU\Environment. Якщо вам пощастить, це все, що вам потрібно буде відновити; якщо вам не пощастило, можливо, у вас були записи, що відносяться до користувачів, які просто неможливо відновити, і в такому випадку вам доведеться скористатися відновленням системи. Сподіваюся, це допомагає.
користувач541686

чому змінні системного середовища Dont мають ознаки відсотка, а користувацькі змінні?
Мілеміла

80

Змінні середовища "оцінюються" (тобто їм присвоюється) у такому порядку:

  1. Системні змінні
  2. Змінні, визначені в autoexec.bat
  3. Користувацькі змінні

Кожен процес має блок середовища, який містить набір змінних середовища та їх значення. Існує два типи змінних середовища: змінні середовища користувача (встановлені для кожного користувача) та змінні системного середовища (встановлені для всіх). Дочірній процес за замовчуванням успадковує змінні середовища свого батьківського процесу.

Програми, запущені командним процесором, успадковують змінні середовища командного процесора.

Змінні середовища задають шляхи пошуку файлів, каталогі тимчасових файлів, параметри, що стосуються додатків, та іншу подібну інформацію. Система підтримує блок середовища для кожного користувача та один для комп'ютера. Блок системного середовища представляє змінні середовища для всіх користувачів конкретного комп'ютера. Блок середовища користувача представляє змінні середовища, які система підтримує для конкретного користувача, включаючи набір змінних системного середовища.


5
Це означає, що системні змінні переважають користувацькі змінні, якщо обидві визначають одну з тим самим іменем?
Кейсі Кубалл

4
Зазвичай немає , за винятком випадків, коли мова заходить про PATH .
Treefish Чжан

37

До змінних системного середовища доступні глобально всі користувачі.
Змінні середовища користувача є специфічними лише для користувача, який увійшов у систему.


Я випадково його видалив, якими можуть бути результати? Як я можу повернути його?
новобранець

@rookie, результат полягає в тому, що програми, що покладаються на цю змінну середовища, можуть перестати працювати. Що стосується повернення, я не знаю, чи це можливо. Можливо, вам доведеться виконати відновлення системи.
Дарин Димитров

1

Просто відтворіть змінну Path у користувачів. Перейдіть до змінних користувачів, виділіть шлях, потім новий, значення у значенні. Подивіться на інший комп’ютер з такою ж версією Windows. Зазвичай це у Windows 10: Шлях% USERPROFILE% \ AppData \ Local \ Microsoft \ WindowsApps;


1

Змінна середовища (може отримати доступ будь-де / динамічний об'єкт) - це тип змінної. Вони мають 2 типи змінних системного середовища та змінних середовищ користувача.

Системні змінні, що мають заздалегідь визначений тип та структуру. Вони використовуються для функціонування системи. Значення, що виробляються системою, зберігаються в системній змінній. Вони, як правило, вказуються за допомогою великих літер

Змінні середовища користувача - це змінні, що визначаються користувачем і представлені за допомогою маленьких літер.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.