Ответ 1
Вы также можете использовать эту прямую командную строку для открытия расширенных свойств системы:
sysdm.cpl
Затем перейдите к вкладке "Дополнительно" → "Переменные среды"
В более старых версиях Windows он просто открыл панель управления, выберите системный апплет, перейдите на вкладку "Дополнительно", а затем нажмите кнопку "Переменные среды". Как обычный пользователь, вы можете редактировать "Пользовательские переменные", но не "Системные переменные".
В Windows Server 2008 R2, если я пытаюсь использовать параметр "Дополнительные параметры системы" в апплете "Система", он запрашивает пароль администратора.
Вы также можете использовать эту прямую командную строку для открытия расширенных свойств системы:
sysdm.cpl
Затем перейдите к вкладке "Дополнительно" → "Переменные среды"
ОК, я нашел его. Арг, упражнение в расстройстве. Они оставили путь прохождения старого окна, чтобы изменить переменные среды там, но ограниченный доступ только к администраторам. Как обычный пользователь, если вы хотите его изменить, вам нужно пройти через другой набор параметров, чтобы добраться до того же окна фрегата.
Панель управления → Учетные записи пользователей → Учетные записи пользователей → Измените мои переменные среды.
Пошаговые инструкции:
В разделе "Пуск" введите "окружение" в поле поиска. В этом списке будет указана возможность изменения системных переменных непосредственно в меню "Пуск".
Это можно сделать из командной строки с помощью команды SETX
. Например, чтобы "переместить" ваши временные файлы на другой диск:
SETX TEMP d:\tmp
В командной строке:
set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe
Теперь вы можете установить переменные среды пользователя.
Я создал на рабочем столе папку godmode. просто создайте новую папку на рабочем столе и назовите ее GodMode. {ED7BA470-8E54-465E-825C-99712043E01C} он назовет папку как godmode и заполнит контент различными параметрами конфигурации, вы можете просто ввести ENVIRO в поиске, чтобы найти соответствующий параметр конфигурации, открыть его и открыть sysdm.cpl на вкладке "Дополнительно", вы можете изменить переменные среды оттуда.
Есть три способа
1) Запускает графический редактор для переменных среды пользователя. Он делает именно то, что хотел сделать OP, и не запрашивает учетные данные администратора.
rundll32.exe sysdm.cpl,EditEnvironmentVariables
(бонус: это работает от Windows Vista до Windows 10 для настольных компьютеров и от Windows Server 2008 до Server 2016. Это не работает в Windows NT, 2000, XP и 2003. Однако в старых системах вы можете использовать sysdm.cpl без "EditEnvironmentVariables", затем перейдите на вкладку "Дополнительно" и нажмите кнопку "Переменные среды".)
2) Используйте команду SETX из командной строки. Это похоже на команду set, но обновляет среду, которая хранится в реестре. К сожалению, SETX не так прост в использовании, как встроенная команда SET. Там нет способа перечислить переменные, например. Таким образом, невозможно сделать что-то, например, добавить папку в пользовательскую переменную PATH. В то время как SET будет отображать переменные, вы не знаете, какие из них являются пользовательскими или системными переменными, а отображаемый PATH является комбинацией обоих.
3) Используйте regedit и перейдите к HKEY_CURRENT_USER\Environment
Помните, что изменения в пользовательской среде не сразу распространяются на все процессы, запущенные в данный момент для этого пользователя. Вы можете увидеть это в командной строке, где ваши изменения не будут видны, если вы используете SET. Например
rem Add a user environment variable named stackoverflow that set to "test"
setx stackoverflow test
set st
Это должно показать все переменные, имена которых начинаются с букв "st". Если их нет, отображается " Environment variable st not defined
". Выйдите из командной строки и запустите другую. Попробуйте set st
раз, и вы увидите
stackoverflow=test
Чтобы удалить переменную stackoverflow, используйте
setx stackoverflow ""
Он ответит " SUCCESS: Specified value was saved.
", что выглядит странно, если вы хотите удалить переменную. Однако если вы запустите новую командную строку, то set st
покажет, что нет переменных, начинающихся с букв "st"
(коррекция - я обнаружил, что setx stackoverflow ""
не удалить переменную его в реестре как пустая строка.. SET
команда, хотя интерпретирует его как будто нет ни одной переменной. if not defined stackoverflow echo Not defined
говорит, что это не определено. )