Como ter o ConEmu executando um script do powershell na inicialização?

5

Eu uso o seguinte comando para lançar novos consoles 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:

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 espero:

Hello world
C:\>
    
por Mike Glenn 13.02.2013 / 18:21

2 respostas

4

Remova cotas únicas em torno do seu comando. O ConEmu executa a sequência intacta (comando) que segue a opção /cmd , com exceção apenas - todos os -new_console... e -cur_console... são removidos dessa sequência antes de iniciar o console.

ConEmu64.exe /config "shell" /dir "c:\" /cmd powershell -noexit -Command Write-host "Hello world" -new_console:n
    
por 13.02.2013 / 20:08
0

Ok Descobri, é 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ê observar com atenção, a cotaçã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 obtenho

Hello world'
C:\>
    
por 13.02.2013 / 18:42