3

Я использую инструменты командной строки под Windows 10. Путь к инструменту задается в системной переменной PATH, чтобы его можно было запустить из командной строки.

Всякий раз, когда выходит новая версия инструмента, я сохраняю его в новом каталоге и обновляю системный PATH, чтобы он указывал на новое местоположение. Перезапустите командное окно, и все в порядке, новая версия инструмента используется.

Однако после завершения работы и запуска PATH возвращается к старому значению, и старая версия инструмента используется. Открытие редактора переменных среды и нажатие кнопки ОК без внесения каких-либо изменений решает проблему ... до следующего выключения. Я искал весь реестр, старое значение PATH нигде не найдено. Он должен храниться где-то еще.

Через некоторое время (я полагаю, после установки обновления Windows, но я не уверен в этом) проблема исчезает, и новое значение PATH запоминается.

В предыдущих версиях Windows это работало без проблем, я вижу это поведение только после обновления до Windows 10.

Как это можно исправить? Есть ли способ сделать эффективный PATH постоянным?

1 ответ1

6

Это звучит как небольшая ошибка в Windows, но вот мое предположение.

Я думаю, что вам нужно перезагрузить компьютер через Windows -> Power -> Reboot после изменения настроек, а не выключать его в первую очередь.

Когда ты сказал

Открытие редактора переменных среды и нажатие кнопки ОК без внесения каких-либо изменений решает проблему ... до следующей перезагрузки.

Я подозреваю, что вы имеете в виду, пока вы в следующий раз не выключите, а затем загрузите машину. Это различие важно в Windows 8 и 10, потому что завершение работы уже не то, что было, и перезагрузка теперь ближе к фактическому завершению работы.

Завершение работы теперь закрывает ваши пользовательские приложения, выходит из системы и затем переводит ядро ОС в спящий режим. Когда вы перезагружаете свою машину, она отключает ядро, а затем позволяет вам снова войти в систему. Поскольку настройка (на данном этапе) применяется только к текущему профилю пользователя, вы получаете путь по умолчанию (старый).

Правильная перезагрузка пропускает этап гибернации и позволяет системе загружаться с нуля, загружая новые настройки и программы. Вот почему обновление Windows также решает вашу проблему, потому что они выполняют перезагрузку, а не завершение работы и перезагрузку.

Здесь есть некоторая информация о том, как работает гибридное отключение.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .