2009-12-06 21:52:22 +0000 2009-12-06 21:52:22 +0000
226
226

Ustawianie i pobieranie zmiennych środowiskowych Windows z wiersza poleceń?

Chcę ustawić zmienną środowiskową z wiersza poleceń, a następnie mieć do niej dostęp globalnie (na przykład, powinienem zobaczyć ją przechodząc do System -> Zmienne środowiskowe).

Kiedy używam polecenia set, nie jest ono dostępne w nowej sesji cmd.

set NEWVAR=SOMETHING
echo %NEWVAR%

Powiązane pytania:

Odpowiedzi (6)

260
260
260
2009-12-06 21:58:09 +0000

Aby zmienna środowiskowa była dostępna globalnie, należy ją ustawić w rejestrze. Jak już sobie uświadomiłeś, używając:

set NEWVAR=SOMETHING

ustawiasz ją tylko w bieżącej przestrzeni procesowej.

Zgodnie z ta strona możesz użyć polecenia setx :

setx NEWVAR SOMETHING

setx jest wbudowany w Windows 7, ale dla starszych wersji może być dostępny tylko jeśli zainstalujesz Windows Resource Kit

36
36
36
2014-08-26 10:37:26 +0000

Możemy również użyć “setx var variable /M” aby ustawić var na poziomie zmiennej systemowej zamiast na poziomie użytkownika.

Uwaga: To polecenie powinno być wykonane jako administrator.

11
11
11
2017-02-08 14:54:39 +0000
setx program "C:\Program Files" /M

/M dla ustawiania poziomu zmiennej środowiskowej systemu zamiast poziomu użytkownika jak @Minh Chau answer

Test

RESTART linii poleceń (jeśli nie uruchomisz ponownie linii poleceń, zmienna środowiskowa nie będzie działać)

2
2
2
2017-03-09 05:06:52 +0000

Zmienne systemowe mogą być ustawiane za pomocą CMD i rejestru. /v PATH**

Wszystkie powszechnie używane kody CMD i zmienne systemowe są podane tutaj: Set Windows system environment variables using CMD .

Open CMD and type Set

You will get all the values of system variable.

Type set java to know the path details of java installed on your window OS.

2
2
2
2018-11-13 19:42:06 +0000

Możesz użyć setx env var [/M] jak wspomniano powyżej. Jeśli nie przyniesie to efektu, możesz użyć refreshenv do odświeżenia zmiennych środowiskowych. Nie musisz restartować swojego komputera, explorer.exe lub komendy, aby to zrobić.

Edit: Widocznie refreshenv nie pochodzi naturalnie z Windows, więc tutaj jest źródło: https://pastebin.com/1fJqA0pT Zapisz jako RefreshEnv.cmd i umieść go w folderze, który znajduje się w twoich zmiennych środowiskowych PATH.

0
0
0
2017-05-18 19:35:20 +0000

Chcę dodać, że jeśli używasz parametru /s z setx, aby ustawić zmienne środowiskowe na zdalnym komputerze, usługa “Remote Registry” musi być uruchomiona na komputerze docelowym, w przeciwnym razie otrzymasz “ERROR: Określona operacja nie mogła być wykonana”

(poprosiłem Microsoft o aktualizację ich artykuł TechNet o setx , aby uwzględnić te informacje).