如果我在 Win 10 中透過 <Win 鍵> 開啟常規命令提示符,cmd
並在提示符處鍵入powershell
,我會看到 PowerShell 命令提示字元。
但是,如果我在 ConEmu(來自 PortableApps 的 v.18.06.26 [32])中收到 Windows 命令提示符,編輯:更新到 v21.04.22(預覽版)),然後我輸入powershell
,它什麼也沒做。
所以我嘗試在ConEmu中設定任務,並設定一個PowerShell
任務,就像我使用提示一樣cmd
(我實際上使用了內建任務)。然後,當啟動該任務時,我會看到一個僅包含訊息的選項卡Press Enter or Esc to exit...
(並且我不知道誰負責該訊息)。
要在 ConEmu 中獲得 powershell 提示符,我需要做什麼特別的事情嗎?
筆記:
答案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"
它們之間的區別是(透過稍後將它們作為單獨的 shell 啟動來確認):
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 key> 並執行cmd -new_console:C:cmd.exe
,然後powershell
在命令提示字元中,我會得到「正常」行為。
如果我從 <Win key> 對話方塊運行 或 ,%windir%\syswow32\cmd.exe
則在這些 shell 中返回%windir%\syswow64\cmd.exe
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
OTOH,set path
從兩個 ConEmu shell 中的任何一個返回與上面相同的字串,前面加上
C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu\Scripts;C:\<myappsdir1>\ConEmu\App\ConEmu;C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu;
進一步挖掘可能會有用。我想知道為什麼沒有人會回報這個問題,這個問題顯然是在內建條件下的 PowerShell 任務中出現的,顯然是針對 PortableApps 版本以及 GitExtensions 附帶的版本。
有關的: