Chcę ustawić zmienną środowiskową z wiersza polecenia, a następnie móc uzyskać do niej dostęp globalnie (na przykład powinienem ją zobaczyć, przechodząc do opcji System -> Zmienne środowiskowe).
Kiedy używam polecenia set, nie jest on dostępny w nowej sesji cmd.
set NEWVAR=SOMETHING
echo %NEWVAR%
Powiązane pytania:
Odpowiedzi:
Aby zmienna środowiskowa była dostępna globalnie, musisz ustawić ją w rejestrze. Jak zauważyłeś, po prostu używając:
po prostu ustawiasz go w bieżącej przestrzeni procesu.
Zgodnie z tą stroną możesz użyć
setx
polecenia:setx
jest wbudowany w system Windows 7, ale w starszych wersjach może być dostępny tylko po zainstalowaniu zestawu Windows Resource Kitźródło
setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45"
będzie działać. Alesetx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45
da ci błędy składnioweMożemy również użyć „setx var zmienna / M”, aby ustawić var na poziom zmiennej środowiskowej systemu zamiast na poziom użytkownika.
Uwaga: To polecenie należy uruchomić jako administrator.
źródło
/ M dla ustawienia poziomu zmiennej środowiskowej systemu zamiast poziomu użytkownika, np. Odpowiedź @Minh Chau
Test
Linia komend RESTART (jeśli nie zrestartujesz linii komend, zmienna środowiskowa nie będzie działać)
źródło
Możesz użyć,
setx env var [/M]
jak wspomniano powyżej. Jeśli to nie zadziała, możesz użyćrefreshenv
do odświeżenia zmiennych środowiskowych. Aby to zrobić, nie musisz ponownie uruchamiać komputera, explorer.exe ani wiersza polecenia.Edycja: wyraźne odświeżenie nie pojawia się naturalnie w systemie Windows, więc oto źródło: https://pastebin.com/1fJqA0pT
Zapisz jako RefreshEnv.cmd i umieść go w folderze zawartym w zmiennych środowiskowych PATH
źródło
Zmienne systemowe można ustawić za pomocą CMD i rejestru Na przykład zapytanie reg „HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment” / v ŚCIEŻKA
Wszystkie powszechnie używane kody CMD i zmienne systemowe podano tutaj: Ustaw zmienne środowiskowe systemu Windows za pomocą CMD .
Otwórz CMD i wpisz Set
Otrzymasz wszystkie wartości zmiennej systemowej.
Wpisz set java, aby poznać szczegóły ścieżki Java zainstalowanej w systemie operacyjnym Windows.
źródło
Chcę dodać, że jeśli używasz parametru / s z setx w celu ustawienia zmiennych środowiskowych na komputerze zdalnym, usługa „Rejestr zdalny” musi być uruchomiona na komputerze docelowym, w przeciwnym razie pojawi się komunikat „BŁĄD: nie można ukończyć określonej operacji. ”
(Poprosiłem Microsoft o aktualizację artykułu TechNet na temat setx, aby uwzględnić te informacje).
źródło