2011-07-25 4 views
1

3つの別々の引数を実行可能ファイルに渡す3つのパスがあります。私はstartinfo.argumentsを実行しますが、これらをどのように分けて、実行可能ファイルが3つの異なる引数であるかを知ることができますか?startinfo.arguments質問がありますか?

答えて

3

コマンドプロンプトと同じように、引数プロパティにこれらをスペースで区切って渡すだけで、スペースを二重引用符で囲むことができます。

アップデート: - :

using (var process = new Process 
     { 
      StartInfo = new ProcessStartInfo 
      { 
       FileName = "cmd.exe", 
       Arguments = "/c copy \"foo bar baz.txt\" \"this is a test.txt\"" 
      } 
     }) 
{ 
    process.Start(); 
    process.WaitForExit(); 
} 

- 引数にスペースを囲むの例として

に 'FOOバーbaz.txt' をコピーするには 'これはtest.txtのです'構文は不器用ですが、コマンドラインで@Ed S.が指摘しているように、コマンドラインでどのように行うのかと矛盾しないという利点があります。

+0

あなたは二重引用符でスペースを含む囲むの概念を拡張することができますか? (おそらく?)ありがとう!\ –

1

渡す引数の文字列は、あなたがcに入力していた場合オムランドライン。

1

は、あなたのプログラムがTEST.EXEと呼ばれていたとしましょう、あなたが希望のコマンドラインから実行した場合、あなたはそれを3つのコマンドライン引数「引数1」「引数2」と「argument3」

を渡したいです操作を行います。

Text.exe argument1 "argument two" argument3 

は、だからあなたstartInfo.Argumentsがに設定されます:

startInfo.Arguments = "argument1 \"argument two\" argument3"; 
関連する問題