Как восстановить переменную среды Path, которую я удалил?


26

Я случайно удалил переменную среды Path, создав новую с именем Path. Как я могу восстановить мою старую переменную среды Path?


Помните, что каждый сеанс консоли Windows имеет свою собственную переменную среды PATH, которую можно отобразить или изменить с помощью команды PATH. Но если вы закроете консоль и откроете новую, исходный системный PATH будет восстановлен. Я не уверен, так ли это с сеансом консоли с повышенными правами.
Баодад

Ответы:


52

Я потерял свой PATH с установкой программы ранее сегодня, но со всеми уже запущенными программами было легко вернуть его. Если у вас открыто командное окно, запустите:

echo %PATH%

Если вы этого не сделаете, вы можете просмотреть переменные окружения запущенных в данный момент программ с помощью Process Explorer (procxp) .


3
СВЯТОЙ КРЕП. Я не знаю, почему это не произошло со мной, но ты только что избавил меня от огромной головной боли. TY.
dudewad

2
"Ахах!" момент для меня назад, когда я отправил это, был довольно полезным.
Том Мэйфилд

2
О, ты из прошлого. Большое вам спасибо за то, что вы открутили мне все. Я был потерян, но благодаря тебе я увидел свет и снова нашел путь.
Мудрец Пурпре

8
Отличный ответ. Спасло меня от восстановления резервной копии. Могу ли я поделиться потенциально не столь очевидным приемом, как открыть командное окно, если у вас его нет? Если у вас есть программа с открытым диалоговым окном (я использовал Chrome, так как он был открыт до того, как я потерял путь), нажмите Ctrl-O, чтобы открыть веб-сайт. Перейдите в C: \ Windows \ system32 \ и найдите cmd.exe. Нажмите правой кнопкой мыши на cmd.exe и выберите Открыть. Это вызовет командную строку с переменными окружения программного обеспечения (в данном случае chrome), и вы можете повторить% path%, чтобы получить ваши старые переменные env!
triadiktyo

2
Вы, сэр, гений, если бы я мог голосовать за вас более одного раза, я бы, конечно, сделал. После того, как я установил немного программного обеспечения, которое стерло весь мой системный путь 2 дня назад, я посмотрел на панель задач и понял, что у меня есть cmd, который был открыт около недели, и ваш "echo% PATH%" не только спас мой бекон, но избавил меня от нескольких часов мучительной реконструкции пути для VIsual Studio, Dotnet, Office и многих других больших приложений. ВСЕ, ПОЖАЛУЙСТА, ГОЛОСОВАТЬ ЭТОТ ПАРЕНЬ !!!!
Shawty

21

Я последовал совету в ответе на связанный с этим вопрос здесь и восстановил мои предыдущие настройки пути с сегодняшнего утра, используя regedit. Если немного расширить этот ответ, вот как я это сделал. (Прочитайте связанный ответ, чтобы получить полные инструкции, я не предоставляю все детали здесь.)

Я выбрал самую раннюю резервную копию с сегодняшнего дня (отметка времени 11:43 в разделе «Сегодня»)

Пример предыдущих версий RegBack

и проверил самый ранний ControlSet в HKEY_LOCAL_MACHINE/ Systemузле этой копии файла реестра, ControlSet002:

введите описание изображения здесь

и скопировал предыдущее значение моей переменной пути из ключа Control\ Session Manager\ Environment\ в Pathпределах этого уровня.

введите описание изображения здесь

Ваш пробег может варьироваться, так как я не знаю точно, что вызывает резервное копирование реестра.


1
Еще проще, заметка из старого вопроса «Обратите внимание, что для системы, в зависимости от того, как давно это было, вы можете просто вернуться в HKLM (старая версия набора элементов управления) \ Control \ Session Manager \ Environment без загрузки старого улья»
Джахмик

Что такое MOLD? Когда я перехожу к предыдущим версиям Regback, я вижу одну предыдущую папку, и, несмотря на глубину связанного ответа, я все еще не знаю, что делать. Кроме того, как вам удалось открыть узел HKEY_LOCAL_MACHINE / System в любой папке Regback?
Ungeheuer

Где хранятся эти резервные копии?
Шимми

8

Вы могли бы сделать восстановление системы.

Чтобы восстановить ваш компьютер с помощью восстановления системы

Проведите от правого края экрана, а затем нажмите «Поиск». (Если вы используете мышь, наведите указатель мыши в верхний правый угол экрана, переместите указатель мыши вниз, а затем нажмите «Поиск».) Введите «Восстановление» в поле поиска, нажмите или нажмите «Настройки», а затем нажмите или нажмите «Восстановление». ,

Нажмите или нажмите «Открыть восстановление системы» и следуйте инструкциям.


3
  • В меню «Пуск» откройте « Выполнить» (или нажмите « ⊞ WinR).
  • Тип regedit
    • найти HKEY_LOCAL_MACHINE folder
    • Перейти к SYSTEM folder
    • Перейти в ControlSet002папку
    • Перейти в Controlпапку
    • Перейти к Session Manager
    • Перейти в Environmentпапку
    • Затем внутри Environmentпапки дважды щелкнитеPath

Предыдущий Путь должен быть там.


1
Это должен быть принятый ответ. Один выбранный работает для коротких переменных и не позволяет копировать и вставлять. Здесь вы можете сделать это по мере необходимости.
javydreamercsw

3
Показывает текущий путь. Не старый.
Шимми

это не показывает мне путь вообще :(
Ayyash

Установщик WinAVR заточил мою переменную PATH вместо добавления к ней ... Сработало для меня, спасибо за сохранение!
Shadowtalker

0

Я обнаружил проблему с переменными среды только через несколько дней после того, как они были разрушены установкой устаревшего приложения. Но у меня все еще была полная резервная копия реестра. Там можно найти все системные переменные среды вне даты резервного копирования. Затем их можно сравнить с текущей ситуацией в соответствии с Системой / Расширенные настройки системы / Переменные среды. В зависимости от того, насколько недавним является резервное копирование, и при условии, что с тех пор переменные среды не изменятся, все будет в порядке. В худшем случае вам придется переустанавливать приложения, которые вы установили после резервного копирования реестра и перед тем, как потерять данные пути, что, как правило, требует меньше усилий, чем восстановление. Ниже я объясню, как это можно сделать.

  1. Откройте файл backup.reg с помощью Notepad ++ (бесплатный и отличный редактор). Найдите HKEY_LOCAL_MACHINE / SYSTEM / ControlSet001 / Control / Диспетчер сеансов / Среда. Если это не работает, попробуйте ControlSet002 или выше.

  2. Скопируйте и вставьте шестнадцатеричные данные (2) для PATH в новое окно Notepad ++. Найти / заменить все ',' (запятые без кавычек) на '' и все '00' на '', и все двойные пробелы '' с одним пробелом ''. Теперь вы должны оставить «чистый гекс» без запятых или нулей в качестве разделителя.

  3. Откройте http://www.rapidtables.com/convert/number/hex-to-ascii.htm . Это конвертер из hex в ascii. Скопируйте и вставьте данные «чистого шестнадцатеричного формата» в шестнадцатеричное окно и нажмите «Преобразовать». Теперь вы можете просмотреть данные пути и скопировать их в Блокнот, сравнить с текущей версией и добавить отсутствующие данные. Вы вернулись в бизнес!

  4. В качестве бонуса вы также можете проверить другие переменные среды, сравнив данные в файле Notepad ++ backup.reg с текущими значениями. Недостающие данные могут быть получены таким же образом, как описано выше.


0

Я случайно удалил переменную окружения Path


Я тоже, и многие команды, которые раньше работали, внезапно выдавали ошибку:

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


Другие ответы на эту проблему у меня не сработали, поэтому

Мне пришлось восстанавливать переменную среды Path по очереди:

  1. Из обычной командной строки, а не PowerShell, введите where <command>, например, where npm.
  2. Введите «переменные среды» в Cortana для редактирования системных переменных среды.
  3. В разделе Системные переменные найдите переменную Path и нажмите «Изменить».
  4. Добавьте каждый путь к файлу из шага 1.
  5. Перезагрузите компьютер.
  6. Повторите для каждой команды, которая выдает ошибку.
  7. Наслаждайтесь использованием команд, которые работают. :-)

введите описание изображения здесь


0

«Восстановление» из набора по умолчанию - это еще один вариант, при котором некоторые установленные приложения будут жаловаться до тех пор, пока не будут исправлены.
Справочная информация: произошло при запуске WLM после перезагрузки. Единственный поток с информацией относительно отсутствующего WLDcore.dll предложил отсутствующую PATHпеременную среды.
Перед упомянутой перезагрузкой была открыта консоль администратора PS в попытке заставить Curl принимать команды. Должно быть, PATHкаким-то образом выбил переменную.

К счастью и к сожалению, значения PATH по умолчанию Бринка были скопированы в Системные свойства \ Переменные среды перед доступом к значениям из ControlSet001 (без ControlSet002здесь) упоминается в других ответах в этой теме. Таким образом, единственная возможность восстановить исходные значения - это восстановление системы, также упомянутое в этой теме. Хорошая вещь - приложения, которые используют PATHна этом компьютере, документируют их требования, которые легко ремонтировать.

Для тех, кто испытывал подобное, вот значения Brink для Windows 10:

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

И его минимум для предыдущих ОС:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

-1

Я только что получил его, выполнив следующее: Мои предыдущие настройки Path все еще были на экране приглашения dos cmd. Поэтому щелкните правой кнопкой мыши по нему. Возьмите «Выбрать все». Это копирует ваш экран. Откройте Блокнот и вставьте. Теперь выделите определение пути в блокноте, щелкните правой кнопкой мыши и скопируйте. Вернитесь к экрану подсказки dos cmd. щелкните правой кнопкой мыши и вставьте Это сработало для меня так удачи!


Это дублирует информацию, уже присутствующую в другом ответе , и предполагает, что в этой ситуации уже открыта командная строка.
Бертиб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.