Como ter ConEmu executar um script PowerShell na inicialização?

5

Eu uso o seguinte comando para lançar novos consoles de powershell ConEmu.

ConEmu64.exe /config "shell" /dir "c:\" /cmd powershell -new_console:n

Eu gostaria de passar um argumento adicional para especificar um script PowerShell para ser executado na inicialização de um novo console. O seguinte quase funciona, mas apenas imprime o comando inteiro e não o executa de fato:

ConEmu64.exe /config "shell" /dir "c:\" /cmd 'powershell -noexit -Command {Write-host "Hello world"}' -new_console:n

que produz:

Write-host Hello world
C:\>

enquanto eu estou esperando:

Hello world
C:\>
Mike Glenn
fonte

Respostas:

4

Remova cotas únicas em torno do seu comando. ConEmu executa string intacto (comando) que segue /cmd interruptor, com apenas exceção - tudo -new_console... e -cur_console... são removidos desta cadeia antes de iniciar o console.

ConEmu64.exe /config "shell" /dir "c:\" /cmd powershell -noexit -Command Write-host "Hello world" -new_console:n
Maximus
fonte
0

Ok Descobriu, é um problema de citação, mas ainda há alguma estranheza acontecendo:

/config "shell" /dir "c:\" /cmd 'powershell -noexit -Command "& Write-host `"Hello world""' -new_console:n

Isso funciona e produz o esperado:

Hello World
C:\>

mas se você olhar com cuidado, a citação no final de "Hello World" não é ignorada enquanto a primeira é. Se eu usar a sintaxe aparentemente correta:

/config "shell" /dir "c:\" /cmd 'powershell -noexit -Command "& Write-host `"Hello world`""' -new_console:n

eu recebo

Hello world`
C:\>
Mike Glenn
fonte