1

1. Резюме

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

2. Ожидаемое поведение

Я использую сценарий Chocolatey refreshenv. Если я запускаю refreshenv в терминале Hyper или Clink:

C:\Users\SashaChernykh>zeal
'zeal' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\SashaChernykh>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait…Finished..

C:\Users\SashaChernykh>zeal

Рвение удачного бега за мной.

3. Фактическое поведение

В ConEmu:

C:\Program Files\Far Manager>zeal
'zeal' is not recognized as an internal or external command,
operable program or batch file.

C:\Program Files\Far Manager>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait…Finished..

C:\Program Files\Far Manager>zeal
'zeal' is not recognized as an internal or external command,
operable program or batch file.

4. Действия по воспроизведению

Я загружаю программу Zeal через Chocolatey → я добавляю C:\Program Files (x86)\Zeal —— путь к zeal.exe в моей переменной среды пользователя через Rapid Environment Editor:

RapidEE

Ctrl+S.

Я получаю ожидаемое поведение для Clink и Hyper и фактическое поведение для ConEmu.

5. Не помогло

  1. Refreshenv Шоколадный сценарий,
  2. перезапустите explorer.exe,
  3. Закройте все окна и вкладки всех моих терминалов,
  4. скрипт resetvars.vbs,
  5. ConEmuC /export PATH.

6. Не предлагать

  1. Пожалуйста, не предлагайте перезагрузку Windows. Это занимает много времени.

7. Среда

Операционная система и версия:
Windows 10 Enterprise LTSB 64-разрядная версия EN
ConEmu:
170118 [64]
Режим {Far}

1 ответ1

3

Для меня все в порядке, просто если я закрою все conemu.exe или conemu64.exe (или даже conhost.exe или cmd.exe если они есть, но они не должны влиять на ConEmu), а затем просто запустите ConEmu, посмотрите:

Но обратите внимание на одну важную вещь:

Если вы запускаете ConEmu(или любую другую программу) из другой программы, например из панели запуска, или с помощью горячей клавиши, созданной другой программой, или даже жестом мыши (используя что-то вроде Strokes Plus), вам необходимо перезапустить эту программу, чтобы эта программа получила новую среду переменные / значения, которые будут переданы дочерним программам, вы можете увидеть, какие из них являются дочерними процессами, а какие являются родительскими в таких программах, как Process Explorer или Process Hacker. Таким образом, чтобы потомок получил правильные переменные / значения среды, вам нужно перезапустить его родителя (если вы вызываете child из parent).

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