A macro Shell
tem muito em comum com a função ShellExecute WinAPI . Portanto, open
, print
e outros têm o mesmo significado que lpOperation
argumento da função.
Alternativamente, o primeiro argumento da Shell aceita os new_console switches internos do ConEmu, sem o mínimo possível.
Em seguida, o ConEmu não expande os nomes das variáveis para seus valores quando executar Shell
function. Você pode verificar isso facilmente com Process Explorer executando cmd
em vez de explorer
. Exemplo:
Shell("open","cmd","%CD%")
Quando você executa Shell("open",...)
ConEmu não herda o ambiente. Mas quando você especifica new_console:I
em vez de open
, isso acontece. Portanto, no exemplo do site CD
é "herdado" corretamente.
Por fim, você não citou %CD%
corretamente em seu primeiro exemplo. Isso realmente não importa (também não funcionaria), mas a notação correta seria ..., "\"%CD%\"")
, o mesmo que no exemplo do site.