Я не можу знайти правильні параметри setx для зміни існуючої змінної системного середовища. В основному, у мене є змінна, до якої я хочу додати ".old".
Я не можу знайти правильні параметри setx для зміни існуючої змінної системного середовища. В основному, у мене є змінна, до якої я хочу додати ".old".
Відповіді:
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
оболонку, щоб побачити зміни.