次のコマンドを使用して、新しいConEmuPowerShellコンソールを起動します。
ConEmu64.exe /config "Shell" /dir "c:\" /cmd powershell -new_console:n
新しいコンソールの起動時に実行するPowerShellスクリプトを指定するための追加の引数を渡したいと思います。以下はほとんど機能しますが、コマンド全体を出力するだけで、実際には実行されません。
ConEmu64.exe /config "Shell" /dir "c:\" /cmd 'powershell -noexit -Command {Write-Host "Hello world"}' -new_console:n
これは以下を生成します:
Write-Host Hello world
C:\>
私が期待している間:
Hello world
C:\>
コマンド周辺の単一のクォータを削除します。 ConEmuは、/cmd
スイッチに続く完全な文字列(コマンド)を実行しますが、例外があります。コンソールを起動する前に、すべての-new_console...
と-cur_console...
がこの文字列から削除されます。
ConEmu64.exe /config "Shell" /dir "c:\" /cmd powershell -noexit -Command Write-Host "Hello world" -new_console:n
わかりました、それは引用の問題ですが、まだいくつかの奇妙なことが起こっています:
/config "Shell" /dir "c:\" /cmd 'powershell -noexit -Command "& Write-Host `"Hello world""' -new_console:n
それは機能し、期待されるものを生み出します:
Hello World
C:\>
しかし、注意深く見ると、「Hello World」の最後の引用は、最初の引用がエスケープされている間はエスケープされません。一見正しい構文を使用する場合:
/config "Shell" /dir "c:\" /cmd 'powershell -noexit -Command "& Write-Host `"Hello world`""' -new_console:n
私は得る
Hello world`
C:\>