二重引用符で囲まれた二重引用符は、二重引用符を挿入する方法です。あなたはコマンドラインが(それはPowerShellので解析された後に)あなたが得ることを取る場合
PS> echoargs " ""1"" 2 3 ""4 5 6"" 7 8 9"
Arg 0 is < 1 2 3 4>
Arg 1 is <5>
Arg 2 is <6 7 8 9>
Command line:
"C:\...\Modules\Pscx\Apps\EchoArgs.exe" " "1" 2 3 "4 5 6" 7 8 9"
:それはあなたのexeファイルを呼び出すために使用するコマンドラインを示してechoargs.exeの更新バージョンは、もう少し明確にこれを示していCMD.EXEで同じ結果:ところで、私は全くわからないんだけど、コマンドラインを解析し、なぜ.NETまたはC++起動コードについては
CMD> EchoArgs.exe " "1" 2 3 "4 5 6" 7 8 9"
Arg 0 is < 1 2 3 4>
Arg 1 is <5>
Arg 2 is <6 7 8 9>
Command line:
C:\...\Modules\Pscx\Apps\EchoArgs.exe " "1" 2 3 "4 5 6" 7 8 9"
。このMSDN topicはそれを少しカバーしています。トピックの一番下の例を見ると、同じように奇妙な構文解析の動作がいくつか見られます。 a\\\b d"e f"g h
は、a\\\b
,de fg
およびh
となる。
これは使用しているエコーログですか? http://weblogs.asp.net/jgalloway/archive/2006/01/27/436713.aspx – ravikanth
Keithの答えをご覧ください。私は先週、PSCXの "public drop"をインストールしました。私は彼がそれ以来それを更新したと思う。 –
良い質問btw。 Powershellの引数渡しの変化を示します。しかし、echoargを呼び出すだけで同じことが分かるので、実際には '&'についてではありません。 – manojlds