Редагуйте змінні системи за допомогою setx


1

Я не можу знайти правильні параметри setx для зміни існуючої змінної системного середовища. В основному, у мене є змінна, до якої я хочу додати ".old".


Будь ласка , змініть питання і додайте команду , що ви на самому справі намагалися.
DavidPostill

Не було встановлених параметрів setx для зміни змінних.
Дюмон

Відповіді:


0

Як додати до існуючої змінної системного середовища за допомогою setx

Просто додайте додаткові дані в кінець змінної.

Приклад :

> set _variable=foo

> echo %_variable%
foo

> setx _variable %_variable%bar

SUCCESS: Specified value was saved.

> echo %_variable%
foo

Зверніть увагу, що, здається, setxне працює. Це тому, що ви повинні запустити нову cmdоболонку, щоб побачити зміни:

setx записує змінні в головне середовище в реєстр, редагування набирає чинності лише тоді, коли відкриється нове вікно команд - вони не впливають на поточний сеанс CMD або PowerShell.

Джерело - setx

Відкрийте нову cmdоболонку, щоб побачити зміни:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

> echo %_variable%
foobar

І ми можемо побачити правильне значення.


Але я хочу змінити ім’я змінної. Як це зробити?

Ви не можете змінити ім'я змінної безпосередньо, оскільки вона зберігається як ключове значення в реєстрі.

  • Для вирішення проблеми створіть нову змінну з новим іменем та видаліть стару.

  • setx не має опції видалення, тому видаліть змінну з реєстру.

Приклад :

setx _variable.old %_variable%
reg delete HKCU\Environment /F /V _variable

Відкрийте нову cmdоболонку, щоб побачити зміни.


Подальше читання

  • Індекс AZ командного рядка Windows CMD
  • reg - читання, встановлення або видалення ключів реєстру та значень, збереження та відновлення з файлу .REG
  • setx - Налаштування змінних оточуючих середовищ постійно, SETX можна використовувати для встановлення змінних середовища для машини (HKLM) або ввійшли в даний час користувач (HKCU).

Це змінює значення, а не ім'я змінної.
Дюмон

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