-param
次のコマンドラインで値の引用符を適切にエスケープするにはどうすればよいですか?
$cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'""
Invoke-Expression $cmd
もちろんこれは失敗します。エスケープ文字 `を使用して引用符(シングルおよびダブル)をエスケープしようとし、さまざまな組み合わせを行いましたが、何も機能しません。
$someCommandStringWithDoubleQuotes | cmd
。これは実際にはPowerShellスクリプトから機能します(たとえば、CMakeの呼び出し(二重引用符が必要です(それ以外の場合は黙って失敗します)))。CMDの代わりはbash.exe(MinGW)ですが、状況によっては起動が非常に遅くなる場合があります。