• ベストアンサー

C# Process.Startメソッドで複数引数を渡したい

タイトルの通り、Process.Startメソッドで起動するアプリに複数2つ以上の引数を渡し、実行させたいのですが、方法がわかりません。 以下、サンプル1のように引数が1つならいいのですが、 サンプル2のように2つ以上の引数の場合、どうしたらよいでしょうか?ご存知の方、ご教授お願いいたします。 [サンプル1] Process.start(abc.exe, "c:\abc.txt") [サンプル2] Process.start(abc.exe, "c:\abc.txt", "c:\def.txt")

質問者が選んだベストアンサー

  • ベストアンサー
  • nep0707
  • ベストアンサー率39% (902/2308)
回答No.1

static methodとしてのProcess.Start()を動かすんですよね。 サンプル1は Process.Start("abc.exe", @"c:\abc.txt"); だと思います。(第1引数もstringであることに注意) 要するにアプリケーション名とプロセス引数を「文字列として」渡すわけで、 Process.Start("apps", "args"); と書けば、コマンドラインで >apps args↓ と打つのと同じ動作をするわけです。 なので、 >abc.exe arg1 arg2 と同等のことをやりたければ Process.Start("abc.exe", "arg1 arg2"); でいけると思います。

yamachan_tomo
質問者

お礼

ご回答有難う御座います。 Process.Start(variable,"c:\document and settings\my folder\abc b") といったケースでしか、発生しな問題でした。 このようば場合には、たしか・・ Process.Start(variable,@"""" "c:\document and settings\my folder\abc @"""" b") といった具合に、問題となる引数の前後に、@"""" を付加することで、問題解決を図る事ができました。 これを付加しない場合では、 【引数1つめ】 : c:\document 【引数2つめ】 : and 【引数3つめ】 : settings\my folder\abc 【引数4つめ】 : b となってしまいます。

すると、全ての回答が全文表示されます。

関連するQ&A