Czy mogę zmienić zmienną środowiskową PATH w systemie Windows 7 bez ponownego uruchamiania?

22

Czy istnieje jakakolwiek zmiana zmiennej środowiskowej PATH (lub ogólnie zmiennych) w systemie Windows 7 Exterprise (64-bitowym) i czy ma ona zastosowanie w programie PowerShell lub wierszu polecenia ( cmd.exe) bez konieczności ponownego uruchamiania?

Nie mam nic przeciwko ponownemu otwarciu powłoki / monitu, ale konieczność ponownego uruchomienia to zbyt wiele.

Obecnie zmieniam zmienne poprzez Advanced Systems settings ->Zmienne środowiskowe`.

Danielb
źródło
MS nakreślił problem na cokolwiek polegającego na usługach działających na lokalnym koncie systemowym , ale powinno to mieć wpływ tylko na sesje PSExec . Ponadto wiele programów klienckich używających zmiennych środowiskowych może nie wymagać ponownego uruchomienia lub wylogowania / zalogowania użytkownika, o ile zostaną one zrestartowane po zmianie EV. (zweryfikowane za pomocą VS2017)
Laurie Stearn,

Odpowiedzi:

22

Wymaganie tak naprawdę nie jest „musi się zrestartować”, to „musi się wylogować / zalogować ponownie” - głównie dla obecnych procesów użytkownika, aby odebrać zmianę.

Jeśli wszystko, co Cię interesuje, to zmiany zmiennych, które zostaną zastosowane w oknie poleceń lub powłoce mocy, uruchomienie nowej powłoki po wprowadzeniu wspomnianych zmian powinno być wszystkim, czego potrzebujesz.

quack quixote
źródło
11
Dziwnie jest tworzyć nowe okno terminala / powłoki po wprowadzeniu zmian, które zawsze działały w poprzednich wersjach systemu Windows, ale nie wydaje się to wystarczające w Win7 :(
Danielb
Również programy (w moim przypadku NUnit) często będą czytać nowe zmiany ścieżki, jeśli je otworzysz i zamkniesz.
Matthew Lock
1
Jeśli użyję „Otwórz okno poleceń tutaj” w eksploratorze, mogę zobaczyć nową ścieżkę z echo% PATH%, ale nie, jeśli uruchomię cmd.exe
Glenn Lawrence
1
@GlennLawrence dla mnie jest odwrotnie: widzę moje zmiany, jeśli wywołuję cmdz menu Start (albo szukając go, albo używając Run…funkcji). Jeśli wywołam go z pliku wsadowego lub z menu kontekstowego, nie widzę moich zmian.
Saulo Silva
Po zmianie systemowych zmiennych środowiskowych zrestartuj proces, tworząc cmd. Zabicie odkrywcy często załatwia sprawę.
masterxilo
3

W moim Win7 (64-bit) polecenie konsoli

ścieżka = dysk: \ katalog;% ścieżka%

dodaje dysk: \ katalog na początku ścieżki bieżącej konsoli bez uruchamiania nowej konsoli. Nie mam pojęcia, dlaczego Twój Win7 powinien zachowywać się inaczej. Chciałbym jednak wiedzieć, jak niektóre programy dodają się do zmiennej% path% dla każdego wystąpienia konsoli.

Aby ręcznie zmienić ścieżkę systemu Windows 7, sprawdź: http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx

TJGeezer
źródło
2

Rozwiązałem ten problem, wybierając polecenie Wiersz polecenia lub Windows PowerShell z menu Start, klikając prawym przyciskiem myszy i wybierając polecenie „Uruchom jako administrator”. Następnie nowe okno poleceń rozpozna zmiany PATH, w przeciwnym razie nie. Nie wiem, co się stanie po ponownym uruchomieniu.

Obrabować
źródło
W porządku, ale czy istnieje różnica, jeśli konto jest już administratorem?
Laurie Stearn