ここでは、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();
}
}
スペースを引数の一部として渡す方法
パラメータはスペース区切りで区切られるので、スペース自体を引数に与える場合には以下のように、ダブルコーテーションでくくって渡すことになります。また、ダブルコーテーション自体をパラメータとして渡すには “””” のようにエスケープさせます。