• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部exeに対しての引数受け渡し)

外部exeに対しての引数受け渡し

このQ&Aのポイント
  • VB.netで外部のexeファイルを呼び出す際に、複数の引数を渡す方法について質問です。
  • DBを検索し、ヒットしたファイルを開くために、複数の引数を格納する構文についても質問しています。
  • VB.netを始めたばかりで情報が不足しているかもしれませんが、助言していただけると助かります。

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

> 受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、 > この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。 > xにhoge.txt fuga.txt > yにpiyo.txt > といった感じです。  Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt") としたとき、Mainメソッドに渡される引数は  CmdArgs(0) → "hoge.txt"  CmdArgs(1) → "fuga.txt"  CmdArgs(2) → "piyo.txt" になります。(スペース区切り)  Process.Start("SomeEXE.exe", """hoge.txt fuga.txt"" piyo.txt") //←ひとまとめにしたい引数はダブルクォーテーション(")で囲う とすると、Mainメソッドに渡される引数は  CmdArgs(0) → "hoge.txt fuga.txt"  CmdArgs(1) → "piyo.txt" になります。

momonga1119
質問者

お礼

お世話になってます。 回答ありがとうございます。 疑問が晴れました。ありがとうございました。

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

> Aから外部のB(exe)を呼び出すときにAで取得した複数の引数をBに渡す方法はどうするのでしょうか? System.Diagnostics.Process.Startメソッドにコマンドライン引数も指定できるオーバーロードがあります。 http://msdn.microsoft.com/ja-jp/library/h6ak8zt5%28v=vs.110%29.aspx http://dobon.net/vb/dotnet/process/shell.html 'Imports System.Diagnostics Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt") 'SomeEXEの終了を待たない場合 Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt").WaitForExit() 'SomeEXEの終了まで待つ場合 > 受け取った引数を元にDBを検索し、ヒットしたファイルを開きたいのですが、その複数の引数を格納する構文はどういったものになるのでしょうか? 受け取り側もVB.NETで作っているということでよろしいでしょうか? それならこちらに有用な情報があります。 http://dobon.net/vb/dotnet/programing/commandline.html

momonga1119
質問者

お礼

ご回答ありがとうございます。 おかげさまで引数をB側(VB.NETで作ってます)で受け取る事ができました。 恐縮ですが、もうひとつご教示願いたいのですが...。 Private Sub Main(ByVal CmdArgs() As String) 'コマンドライン引数の表示 Dim cmd As String For Each cmd In CmdArgs このcmdに複数の引数が渡ってきましたが、 この引数を分割する方法はどうするのでしょうか? 受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、 この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。 xにhoge.txt fuga.txt yにpiyo.txt といった感じです。 質問に質問はルール違反?かもしれませんし、 基礎から勉強しろと言われそうですが、困っています。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう