【VB.Net】バッチファイルに引数渡して起動させてみた~やればできる~

どうも!リョクちゃです。

今回は、前回の記事につづきバッチファイルをVB.Netから呼び出す過程で、

バッチファイルに引数を渡す方法について紹介します。

前回の記事はこちら

VB.Netから外部ファイル、今回はバッチファイルの起動をしてみたので簡単に紹介しています。VB.Netでは処理できないことをバッチファイルで肩代わりさせたい、そんな時に使える方法です。1つの言語でやろうとせず、他の言語が得意なことは他の言語にやらせて効率よく開発をしていきましょう。



バッチファイルに引数を渡して呼び出し実行

スポンサーリンク




ProcessStartInfoクラスの設定

引数を渡すには、まずProcessStartInfoクラスのインスタンス化を行い

オブジェクトを生成します。

Dim 変数名 As New ProcessStartInfo()

例) 変数testInfoをProcessStartInfoクラスで宣言

Dim testInfo As New ProcessStartInfo()

引数を渡す設定

ProcessStartInfoクラスのArgumentsプロパティを使って引数を渡す設定をします。

ProcessStartInfo.Arguments = “バッチファイルに渡す引数”

例) バッチファイルに引数として”Tom”を渡したい場合

testInfo.Arguments = “Tom”

とすることで、引数を渡す設定ができます。

複数の引数を渡したい場合は、半角スペースで引数として渡す値を区切ることで

複数の引数を渡せます。

例) バッチファイルに引数として”ベーコン”と”リンゴ”を渡したい場合

testInfo.Arguments = “ベーコン リンゴ”

バッチファイルを呼び出す

今回呼び出すバッチには、こちらの記事で作成したバッチを使用します。

Windows環境でバッチファイルを実行する際に、引数を渡したいときはありませんか?そんな時に役立つ方法、引数を渡す方法を紹介しています。意外とつまづきポイントなのでメモとしても残してます。

→ TestArgBat.bat

実行するファイルを設定します。

testInfo.FileName = “C:\TestArgBat.bat”

最後に上記で設定したtestInfoをProcess.Start()に渡してあげることで、

呼び出したいバッチファイルに引数を渡して実行することができます。

実例

こちらの記事で作成したフォームを流用します。

VB.Netから外部ファイル、今回はバッチファイルの起動をしてみたので簡単に紹介しています。VB.Netでは処理できないことをバッチファイルで肩代わりさせたい、そんな時に使える方法です。1つの言語でやろうとせず、他の言語が得意なことは他の言語にやらせて効率よく開発をしていきましょう。

ボタンが押されたらバッチファイルを実行できるようにします。

まずは、引数を渡さないでバッチファイルを呼び出してみます。

これを実行すると、

ボタンが押されたらバッチが起動し、上図のような状態になります。

では、引数を渡して実行してみます。

実行すると、

引数として設定した項目が、それぞれ表示されていることがわかります。

外部ファイルに引数を渡せることができれば、

何らかの処理途中に外部ファイルの呼び出しを行い

処理の肩代わりもさせられたりできるので使い道はありそうです。

まとめ

VB.Netから外部ファイルとしてバッチファイルに引数を渡して呼び出す方法を紹介しました。

実際に、VB.Netでできない処理を外部ファイル上でさせたいときに、

どうしても引数を渡す必要があったので今回活用してみました。

参考になれば嬉しいです。

最後までお読みいただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク