Zauważyłem, że trudno jest synchronizować moje zmienne środowiskowe na różnych komputerach. Chcę tylko wyeksportować ustawienia z jednego komputera i zaimportować do innych.
Myślę, że powinno to być możliwe, ale nie wiem, jak to zrobić. Czy ktoś może mi pomóc? Dzięki.
Użyłbym polecenia SET z wiersza polecenia, aby wyeksportować wszystkie zmienne, a nie tylko PATH, jak zalecono powyżej.
Aby zaimportować zmienne, można użyć prostej pętli:
źródło
set > "C:\Users\xx\Desktop\envir variable.txt"
for /F %A in (allvariables.txt) do SET %A
Aby wyeksportować zmienne użytkownika, otwórz wiersz polecenia i użyj polecenia regedit z / e
Przykład:
źródło
Połącz odpowiedzi @vincsilver i @jdigital z pewnymi modyfikacjami,
.reg
do bieżącego katalogukod:
Wyjście chciałoby:
źródło
Dostęp do zmiennych środowiskowych można uzyskać w wierszu poleceń lub w rejestrze.
Wiersz poleceń
Jeśli chcesz mieć określoną zmienną środowiskową, po prostu wpisz jej nazwę (np.
PATH
), A następnie a>
i nazwę pliku do zapisu. Poniższe polecenie zrzuci zmienną środowiskową PATH do pliku o nazwie path.txt.Metoda rejestracji
Rejestr systemu Windows przechowuje wszystkie zmienne środowiskowe w różnych miejscach, w zależności od wybranego zestawu. Możesz użyć poleceń importu / eksportu rejestru, aby przenieść je na inny komputer.
W przypadku zmiennych systemowych:
W przypadku zmiennych użytkownika:
źródło
Moją ulubioną metodą jest zapisanie go jako skryptu wsadowego, który łączy zarówno zmienne użytkownika, jak i zmienne systemowe w jeden plik kopii zapasowej, tak jak pokazano na rysunku, utworzenie
environment-backup.bat
pliku i umieszczenie w nim:Tworzy to,
environment-backup.reg
którego można użyć do ponownego zaimportowania istniejących zmiennych środowiskowych. Spowoduje to dodanie i zastąpienie nowych zmiennych, ale nie usunie istniejących :)źródło
Oto moja metoda PowerShell
Co to robi
Więc po uruchomieniu tego na maszynie źródłowej, po prostu przenieś dane wyjściowe na maszynę docelową i wykonaj (podwyższony monit, jeśli ustawisz na poziomie maszyny)
źródło
PowerShell skrypt na podstawie @ Mithrl za odpowiedź
# export_env.ps1 $Date = Get-Date $DateStr = '{0:dd-MM-yyyy}' -f $Date mkdir -Force $PWD\env_exports | Out-Null regedit /e "$PWD\env_exports\user_env_variables[$DateStr].reg" "HKEY_CURRENT_USER\Environment" regedit /e "$PWD\env_exports\global_env_variables[$DateStr].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
źródło