Если я открою обычную командную строку в Win 10 с помощью клавиши <Win> cmd
и в строке приглашения наберу powershell
, я получу командную строку PowerShell.
Но если я получаю командную строку Windows в ConEmu (v.18.06.26 [32] от PortableApps,РЕДАКТИРОВАТЬ: Обновлено до версии 21.04.22 (предварительная версия)), и я печатаю powershell
, но ничего не происходит.
Поэтому я попытался в ConEmuНастройка задач, и настраиваю PowerShell
задачу, так же, как я делаю с cmd
подсказкой (на самом деле я использовал встроенную задачу). Затем при запуске этой задачи я получаю вкладку только с сообщением Press Enter or Esc to exit...
(и я не знаю, кто ответственен за это сообщение).
Нужно ли мне сделать что-то особенное, чтобы получить приглашение PowerShell в ConEmu?
Примечания:
- Во время обновления, как я полагаю, появилось окно после установки с сообщением об ошибке, связанной с 7-zip. Я потерял это окно, но ConEmu работает "нормально".
- Значки приложений для новой версии изменились на
но лаунчер PortableApps по-прежнему показывает старый значок и версию в подсказке
- У меня в системе есть еще один ConEmu (я не знал об этом до сегодняшнего дня), который поставляется с GitExtensions. Это v20.07.13, и я вижу то же самое здесь.
решение1
Я запустил встроенную составную задачу Shells::cmd 64/32
, которая имеет следующее определение
> "%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"
"%windir%\syswow64\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is 32 bit cmd.exe -new_console:s50V"
Различия между ними следующие (подтвержденные последующим запуском их как отдельных оболочек):
Task Version*1 "Sensitive" Warning at
to powershell? launching*2
Top AMD64 No, as in Fig. 1 No
Bottom x86 Yes (normal) As in Fig. 2
*1 Подтверждено echo %PROCESSOR_ARCHITECTURE%
, выходные данные которого указаны в таблице.
*2 При первом запуске терминала появилось предупреждение, показанное ниже.
Затем я проверил, была ли эта проблема внутренне связана с windows
C:\Windows\System32\cmd.exe
против
C:\Windows\SysWOW64\cmd.exe
. И это не так, поскольку выполнение любого из двух напрямую из диалогового окна <Win key>, а затем powershell
в командной строке, приводило к "нормальному" поведению. Я также проверил, что все сочетания клавиш, которые я запускал через <Win key>, что также приводило к "нормальному" поведению, называемому
C:\Windows\System32\cmd.exe
, "неудачный" вариант в ConEmu.
Мой вывод таков, что проблема каким-то образом специфична для ConEmu. В ConEmu определения задач
cmd -new_console:C:cmd.exe
или
"%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"
являются причиной проблемы.
Если я нажму <клавишу Win> и там выполню cmd -new_console:C:cmd.exe
, и powershell
в командной строке я получу «нормальное» поведение.
Если я запускаю либо %windir%\syswow32\cmd.exe
из %windir%\syswow64\cmd.exe
диалогового окна <клавиша Win>, set path
в этих оболочках возвращается
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016.2.180\windows\mpi\intel64\bin;C:\Program Files\Microsoft MPI\Bin\;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\SIMULIA\Abaqus\Commands;C:\Program Files\PuTTY\;C:\ecl\macros\;C:\<myappsdir2>\utils\gtools;C:\<myappsdir2>\miktex\bin\x64
С другой стороны, set path
любая из двух оболочек ConEmu возвращает ту же строку, что и выше, с добавлением в начале
C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu\Scripts;C:\<myappsdir1>\ConEmu\App\ConEmu;C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu;
Дальнейшее копание может быть полезным. Интересно, почему никто не сообщил об этой проблеме, которая, по-видимому, проявляется с PowerShell taks при встроенных условиях и, по-видимому, для версии PortableApps, а также той, которая идет с GitExtensions.
Связанный: