Jak przywrócić zmienną środowiskową Path, którą usunąłem?

26

Przypadkowo usunąłem zmienną środowiskową Path, tworząc nową z nazwą Path. Jak mogę przywrócić moją starą zmienną środowiskową Path?

deno
źródło
Pamiętaj, że każda sesja konsoli Windows ma własną zmienną środowiskową PATH, którą można wyświetlić lub zmienić za pomocą polecenia PATH. Ale jeśli zamkniesz konsolę i otworzysz nową, oryginalna ścieżka systemowa zostanie przywrócona. Nie jestem pewien, czy tak jest w przypadku sesji konsoli z podwyższonym poziomem uprawnień.
Baodad

Odpowiedzi:

52

Zgubiłem dzisiaj ŚCIEŻKĘ z instalacją programu wcześniej, ale przy wszystkich już działających programach łatwo było go odzyskać. Jeśli masz otwarte okno poleceń, uruchom:

echo %PATH%

Jeśli nie, możesz spojrzeć na zmienne środowiskowe obecnie działających programów za pomocą Process Explorer (procexp) .

Tom Mayfield
źródło
3
O KURCZĘ. Nie wiem, dlaczego mi się to nie przydarzyło, ale właśnie uratowałeś mnie ogromnym bólem głowy. TY.
dudewad
2
„Ahah!” chwila dla mnie, kiedy to opublikowałem, było dość satysfakcjonujące.
Tom Mayfield
2
Och, ty z przeszłości. Dziękuję bardzo za odkręcenie mojego totalnego popieprzenia. Zgubiłem się, ale dzięki wam widziałem światło i znów znalazłem ścieżkę.
Sage Pourpre
8
Doskonała odpowiedź. Uratował mnie przed przywróceniem kopii zapasowej. Pozwól, że podzielę się potencjalnie nieoczywistą sztuczką dotyczącą otwierania okna poleceń, jeśli go nie masz. Jeśli masz program z otwartym oknem dialogowym (korzystałem z Chrome, ponieważ był otwarty, zanim straciłem ścieżkę), naciśnij Ctrl-O, aby otworzyć stronę internetową. Przejdź do C: \ Windows \ system32 \ i znajdź cmd.exe. Kliknij prawym przyciskiem myszy cmd.exe i kliknij Otwórz. Spowoduje to wyświetlenie wiersza polecenia ze zmiennymi środowiskowymi oprogramowania (w tym przypadku chrome) i możesz wywołać echo% path%, aby uzyskać stare zmienne env!
triadiktyo
2
Jesteś panem genialnym, gdybym mógł zagłosować więcej niż jeden raz, na pewno bym to zrobił. Po tym, jak zainstalowałem trochę oprogramowania, które wymazało całą ścieżkę systemową 2 dni temu, spojrzałem na pasek zadań i zauważyłem, że mam cmd, które było otwarte przez około tydzień, a twoje „echo% PATH%” nie tylko uratował mi bekon, ale uratował mnie od kilku godzin bolesnej rekonstrukcji ścieżki dla VIsual Studio, Dotnet, Office i wielu innych dużych aplikacji. KAŻDY PROSZĘ GŁOSOWAĆ TEGO CHŁOPCA !!!!
shawty
21

Postępowałem zgodnie z radą zawartą w odpowiedzi na powiązane pytanie tutaj i odzyskałem moje poprzednie ustawienie ścieżki od rana, używając regedit. Rozwijając nieco tę odpowiedź, oto jak to zrobiłem. (Przeczytaj połączoną odpowiedź, aby uzyskać pełne instrukcje, nie podaję tutaj wszystkich szczegółów).

Wybrałem swoją najwcześniejszą kopię zapasową od dzisiaj (znacznik czasu 11:43 w sekcji „Dzisiaj”)

Przykład poprzednich wersji RegBack

i sprawdził najwcześniejszy ControlSet w węźle HKEY_LOCAL_MACHINE/ Systemtej kopii pliku rejestru, ControlSet002:

wprowadź opis zdjęcia tutaj

i skopiowałem poprzednią wartość mojej zmiennej ścieżki z klucza Control\ Session Manager\ Environment\ Pathna tym poziomie.

wprowadź opis zdjęcia tutaj

Twój przebieg może się różnić, ponieważ nie wiem dokładnie, co powoduje utworzenie kopii zapasowej rejestru.

marfarma
źródło
1
Jeszcze łatwiejsze, notatka ze starego pytania „Uwaga: w systemie, w zależności od tego, jak dawno temu to było, możesz po prostu wrócić do HKLM (stara wersja zestawu kontrolnego) \ Control \ Session Manager \ Environment bez ładowania starego ula”
Jahmic
Co to jest MOLD? Kiedy przechodzę do poprzednich wersji Regback, widzę jeden poprzedni folder i pomimo głębokości połączonej odpowiedzi nadal nie wiem, co robić. Jak udało Ci się otworzyć węzeł HKEY_LOCAL_MACHINE / System dowolnego folderu Regback?
Ungeheuer,
Gdzie są przechowywane te kopie zapasowe?
Shimmy,
8

Możesz przywrócić system.

Aby przywrócić komputer przy użyciu Przywracania systemu

Przesuń w od prawej krawędzi ekranu, a następnie dotknij Wyszukaj. (Jeśli używasz myszy, wskaż prawy górny róg ekranu, przesuń wskaźnik myszy w dół, a następnie kliknij Wyszukaj). Wprowadź Odzyskiwanie w polu wyszukiwania, dotknij lub kliknij Ustawienia, a następnie dotknij lub kliknij Odzyskiwanie .

Naciśnij lub kliknij opcję Otwórz przywracanie systemu i postępuj zgodnie z instrukcjami.

Dave
źródło
3
  • Z menu Start otwórz Uruchom (lub naciśnij ⊞ Win+ R).
  • Rodzaj regedit
    • Odnaleźć HKEY_LOCAL_MACHINE folder
    • Idź do SYSTEM folder
    • Przejdź do ControlSet002folderu
    • Idź do Controlfolderu
    • Iść do Session Manager
    • Idź do Environmentfolderu
    • Następnie w Environmentfolderze kliknij dwukrotniePath

Poprzednia ścieżka powinna tam być.

Joramie Mier
źródło
1
To powinna być zaakceptowana odpowiedź. Ten wybrany działa dla krótkich zmiennych i nie pozwala na kopiowanie i wklejanie. Tutaj możesz to zrobić w razie potrzeby.
javydreamercsw,
3
Pokazuje bieżącą ścieżkę. Nie ten stary.
Shimmy,
wcale nie pokazuje mi ścieżki :(
Ayyash
Instalator WinAVR przypiął moją zmienną PATH zamiast do niej dołączyć ... Pracował dla mnie, dzięki za zapisanie!
shadowtalker
0

Problem ze zmiennymi środowiskowymi odkryłem dopiero kilka dni po ich zniszczeniu przez instalację przestarzałej aplikacji. Ale nadal miałem pełną kopię zapasową rejestru. Tam można znaleźć wszystkie systemowe zmienne środowiskowe od daty utworzenia kopii zapasowej. Można je następnie porównać z bieżącą sytuacją zgodnie z ustawieniami System / Advanced system / zmiennych środowiskowych. W zależności od tego, jak ostatnia jest kopia zapasowa i przy założeniu braku zmian zmiennych środowiskowych od tego czasu wszystko jest w porządku. Najgorsze jest to, że będziesz musiał ponownie zainstalować aplikacje, które zainstalowałeś po utworzeniu kopii zapasowej rejestru i przed utratą danych ścieżki, co zwykle jest mniej pracochłonne niż przywracanie. Poniżej wyjaśnię, jak można to zrobić.

  1. Otwórz plik backup.reg w Notepad ++ (darmowy i doskonały edytor). Znajdź HKEY_LOCAL_MACHINE / SYSTEM / ControlSet001 / Control / Session Manager / Environment. Jeśli to nie zadziała, wypróbuj ControlSet002 lub nowszy.

  2. Skopiuj wklej dane szesnastkowe (2) dla ŚCIEŻKI do nowego okna Notepad ++. Znajdź / zamień wszystkie „,” (przecinki bez cudzysłowów) na „” i wszystkie „00” na „”, a wszystkie podwójne spacje „” na pojedynczą spację ”. Powinieneś teraz pozostać z „czystym hexem” bez przecinków lub zer jako separatora.

  3. Otwórz http://www.rapidtables.com/convert/number/hex-to-ascii.htm . To jest konwerter hex na ascii. Skopiuj dane „czystego heksa” do okna heksadecymalnego i kliknij przycisk Konwertuj. Możesz teraz zobaczyć swoje dane ścieżki i skopiować je wkleić do Notatnika, porównać z bieżącą wersją i dodać brakujące dane. Wróciłeś do biznesu!

  4. Jako bonus możesz również sprawdzić inne zmienne środowiskowe, porównując dane w pliku backup.reg Notepad ++ z bieżącymi wartościami. Brakujące dane można odzyskać w taki sam sposób, jak wyjaśniono powyżej.

marcopolo
źródło
0

Przypadkowo usunąłem zmienną środowiskową Path


Ja też, a wiele poleceń, które kiedyś działały, nagle spowodowało błąd:

The term '<command>' is not recognized as the name of a cmdlet, function, script file, or operable program. 


Inne odpowiedzi na ten problem nie działały dla mnie, więc

Musiałem trochę odzyskiwać zmienną środowiskową Path:

  1. W zwykłym wierszu polecenia, a nie w programie PowerShell, wpisz where <command>np where npm.
  2. Wpisz „zmienne środowiskowe” w Cortanie, aby edytować systemowe zmienne środowiskowe.
  3. W obszarze Zmienne systemowe znajdź zmienną Ścieżka i kliknij przycisk Edytuj.
  4. Dodaj każdą ścieżkę do pliku od kroku 1.
  5. Zrestartuj swój komputer.
  6. Powtórz dla każdego polecenia, które powoduje błąd.
  7. Korzystaj z poleceń, które działają. :-)

wprowadź opis zdjęcia tutaj

Super Jade
źródło
0

„Przywracanie” z domyślnego zestawu to kolejna opcja, z ryzykiem, że niektóre zainstalowane aplikacje będą się skarżyć, dopóki nie zostaną naprawione.
Tło: Zdarzyło się podczas uruchamiania WLM po ponownym uruchomieniu. Jedyny wątek z informacjami o brakującym pliku WLDcore.dll sugerował brakującą PATHzmienną środowiskową.
Przed wspomnianym ponownym uruchomieniem była otwarta konsola administracyjna PS, próbująca skłonić Curl do akceptowania poleceń. Musiał PATHjakoś znokautować zmienną.

Na szczęście i niestety domyślne wartości PATH Brink zostały skopiowane do Właściwości systemu \ Zmienne środowiskowe przed uzyskaniem dostępu do wartości z ControlSet001 (bez ControlSet002tutaj), o których mowa w innych odpowiedziach w tym wątku. Tak więc jedyną opcją odzyskania oryginalnych wartości było przywrócenie systemu również wspomniane w tym wątku. Dobrą rzeczą jest to, że aplikacje używające PATHtego urządzenia dokumentują ich wymagania, więc są łatwe do naprawy.

Dla tych, którzy doświadczyli podobnych, oto wartości systemu Windows 10 Brink:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared

I jego absolutne minimum dla poprzednich systemów operacyjnych:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
Laurie Stearn
źródło
-1

Właśnie go odzyskałem, wykonując następujące czynności: Moje poprzednie ustawienia Ścieżki nadal znajdowały się na ekranie zachęty dos cmd. Kliknij więc prawym przyciskiem myszy. Wybierz „Wybierz wszystko”. Spowoduje to skopiowanie ekranu. Otwórz Notatnik i wklej. Teraz zaznacz definicję ścieżki w notatniku, kliknij prawym przyciskiem myszy i skopiuj. Wróć do ekranu zachęty dos cmd. kliknij prawym przyciskiem myszy i wklej To zadziałało dla mnie tak Powodzenia!

JosieDoherty
źródło
Powoduje to powielenie informacji już obecnych w innej odpowiedzi i zakłada, że ​​w tej sytuacji jest już otwarty wiersz polecenia.
bertieb