6 votes

Comment exécuter un script PowerShell au démarrage de ConEmu?

Je utilise la commande suivante pour lancer de nouvelles consoles powershell ConEmu.

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

Je voudrais passer un argument supplémentaire pour spécifier un script powershell à exécuter au démarrage d'une nouvelle console. Ce qui suit fonctionne presque mais affiche seulement la commande complète sans l'exécuter effectivement :

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

ce qui produit :

Write-host Hello world
C:\>

tandis que je m'attends à :

Hello world
C:\>

4voto

Maximus Points 20409

Supprimez les guillemets simples autour de votre commande. ConEmu exécute la chaîne intacte (commande) qui suit l'interrupteur /cmd, avec une seule exception - tous les -new_console... et -cur_console... sont supprimés de cette chaîne avant de démarrer la console.

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

0voto

Mike Glenn Points 203

D'accord, j'ai compris, c'est un problème de guillemets, mais il y a encore quelque chose d'étrange qui se passe :

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

Cela fonctionne et produit le résultat attendu :

Hello World
C:\>

mais si vous regardez attentivement, le guillemet à la fin de "Hello World" n'est pas échappé alors que le premier l'est. Si j'utilise la syntaxe apparemment correcte :

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

Je reçois

Hello world`
C:\>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X