Как экспортировать и импортировать переменные среды в Windows?

Мне показалось, что синхронизировать переменные среды на разных машинах сложно. Я просто хочу экспортировать настройки с одного компьютера и импортировать их в другие.

Я думаю, что это должно быть возможно, но не знаю, как это сделать. Может кто-нибудь мне помочь? Благодарю.

Ответ 1

Вы можете использовать RegEdit для экспорта следующих двух ключей:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

HKEY_CURRENT_USER\Environment

Первый набор - системные/глобальные переменные среды; второй набор - переменные уровня пользователя. Отредактируйте при необходимости, а затем импортируйте файлы .reg на новый компьютер.

Ответ 2

Я бы использовал команду SET из командной строки, чтобы экспортировать все переменные, а не только PATH, как было рекомендовано выше.

C:\> SET >> allvariables.txt

Ответ 3

Чтобы экспортировать пользовательские переменные, откройте командную строку и используйте regedit с /e

Пример:

regedit /e "%userprofile%\Desktop\my_user_env_variables.reg" "HKEY_CURRENT_USER\Environment"

Ответ 4

Объедините @vincsilver и @jdigital ответы с некоторыми изменениями,

  • экспортировать .reg в текущий каталог
  • добавить метку даты

код:

set TODAY=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%

regedit /e "%CD%\user_env_variables[%TODAY%].reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\global_env_variables[%TODAY%].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

Вывод:

global_env_variables[2017-02-14].reg
user_env_variables[2017-02-14].reg

Ответ 5

Вы можете получить доступ к переменным среды в командной строке или в реестре.

Командная строка

Если вам нужна определенная переменная среды, просто введите ее имя (например, PATH), а затем введите " > " и имя файла, для которого нужно написать. Следующее выведет переменную среды PATH в файл с именем path.txt.

C:\> PATH > path.txt

Метод реестра

В реестре Windows хранятся все переменные среды, в разных местах, в зависимости от того, какой набор вы используете. Вы можете использовать команды импорта/экспорта реестра, чтобы переместить их на другой компьютер.

Для системных переменных:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Для пользовательских переменных:

HKEY_CURRENT_USER\Environment

Ответ 6

Мой любимый способ сделать это - написать его как пакетный скрипт, чтобы объединить пользовательские и системные переменные в один файл резервной копии, например, создать файл environment-backup.bat и поместить его в него:

@echo off
:: RegEdit can only export into a single file at a time, so create two temporary files.
regedit /e "%CD%\environment-backup1.reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\environment-backup2.reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

:: Concatenate into a single file and remove temporary files.
type "%CD%\environment-backup1.reg" "%CD%\environment-backup2.reg" > environment-backup.reg
del "%CD%\environment-backup1.reg"
del "%CD%\environment-backup2.reg"

Это создает environment-backup.reg который вы можете использовать для повторного импорта существующих переменных среды. Это добавит и переопределит новые переменные, но не удалит существующие :)