ここでは、VB.NET と C# でコマンドラインパラメータを取得するサンプルコードを掲載しています。コマンドラインパラメータの取得方法には、エントリポイント(Main メソッド)のパラメータとして取得する方法と、Environment.GetCommandLineArgs プロパティで取得する方法があります。なお、VB.NET の場合に限り My.Application.CommandLineArgs メソッドによっても取得することができます。
スポンサーリンク
コマンドラインパラメータ取得サンプル
VB.NET
Class TestArgs Public Shared Sub Main(ByVal args() As String) ' エントリポイント(Main)のパラメータから取得する ' 実行ファイルパスは引数として与えられない For Each arg As String In args Console.WriteLine(arg) Next ' Environment.GetCommandLineArgs メソッドで取得する ' args[0] には、実行ファイルパスが格納される Dim cmds As String() = Environment.GetCommandLineArgs() For Each cmd As String In cmds Console.WriteLine(cmd) Next ' [VB.NET の場合のみ] ' 実行ファイルパスは引数として与えられない For Each cmd As String In My.Application.CommandLineArgs Console.WriteLine(cmd) Next Console.ReadKey() End Sub End Class
C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main(string[] args) { /* * エントリポイント(Main)のパラメータから取得する * 実行ファイルパスは引数として与えられない */ foreach (string arg in args) { Console.WriteLine(arg); } /* * Environment.GetCommandLineArgs メソッドで取得する * args[0] には、実行ファイルパスが格納される */ string[] cmds = Environment.GetCommandLineArgs(); foreach (string cmd in cmds) { Console.WriteLine(cmd); } Console.ReadKey(); } }
スペースを引数の一部として渡す方法
パラメータはスペース区切りで区切られるので、スペース自体を引数に与える場合には以下のように、ダブルコーテーションでくくって渡すことになります。また、ダブルコーテーション自体をパラメータとして渡すには “””” のようにエスケープさせます。