Environment.GetCommandLineArgs メソッド

定義

現在のプロセスに対するコマンド ライン引数を格納している文字列配列を返します。

public:
 static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs ();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()

戻り値

String[]

各要素にコマンド ライン引数を格納している文字列の配列。 先頭の要素には実行可能ファイルの名前、それに続く 0 個以上の要素には残りのコマンド ライン引数が格納されます。

例外

システムでは、コマンドライン引数はサポートされません。

次の例では、アプリケーションのコマンド ライン引数を表示します。

using namespace System;

int main()
{
   Console::WriteLine();
   
   //  Invoke this sample with an arbitrary set of command line arguments.
   array<String^>^ arguments = Environment::GetCommandLineArgs();
   Console::WriteLine( "GetCommandLineArgs: {0}", String::Join( ", ", arguments ) );
}
/*
This example produces output like the following:
    
    C:\>GetCommandLineArgs ARBITRARY TEXT
    
      GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
*/
using System;

class Sample
{
    public static void Main()
    {
        Console.WriteLine();
        //  Invoke this sample with an arbitrary set of command line arguments.
        string[] arguments = Environment.GetCommandLineArgs();
        Console.WriteLine("GetCommandLineArgs: {0}", string.Join(", ", arguments));
    }
}
/*
This example produces output like the following:

    C:\>GetCommandLineArgs ARBITRARY TEXT

      GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
*/
open System

//  Invoke this sample with an arbitrary set of command line arguments.
let arguments = Environment.GetCommandLineArgs()

String.concat ", " arguments
|> printfn "\nGetCommandLineArgs: %s"

// This example produces output like the following:
//     C:\>GetCommandLineArgs ARBITRARY TEXT
//
//       GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      '  Invoke this sample with an arbitrary set of command line arguments.
      Dim arguments As String() = Environment.GetCommandLineArgs()
      Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments))
   End Sub
End Class
'This example produces output like the following:
'    
'    C:\>GetCommandLineArgs ARBITRARY TEXT
'    
'      GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
'

注釈

配列の最初の要素には、実行中のプログラムのファイル名が含まれています。 ファイル名が使用できない場合、最初の要素は String.Empty. 残りの要素には、コマンド ラインに入力された追加のトークンが含まれています。

.NET 5 以降のバージョンでは、単一ファイル発行の場合、最初の要素はホスト実行可能ファイルの名前です。

プログラム ファイル名にはパス情報を含めることができますが、必須ではありません。

コマンド ライン引数はスペースで区切られます。 二重引用符 (") を使用して、引数内にスペースを含めることができます。 ただし、単一引用符 (') では、この機能は提供されません。

二重引用符が 2 個または偶数個の円記号の後に続く場合、後続の円記号の各ペアは 1 つの円記号に置き換えられ、二重引用符は削除されます。 二重引用符が奇数の円記号 (1 つだけを含む) に続く場合、前の各ペアは 1 つの円記号に置き換えられ、残りの円記号は削除されます。ただし、この場合、二重引用符は削除されません。

次の表は、コマンド ライン引数を区切り、現在実行中の MyApp アプリケーションと見なす方法を示しています。

コマンド ラインでの入力 結果のコマンド ライン引数
MyApp alpha beta MyApp, alpha, beta
MyApp "alpha with spaces" "beta with spaces" MyApp, alpha with spaces, beta with spaces
MyApp 'alpha with spaces' beta MyApp, 'alpha, with, spaces', beta
MyApp \\\alpha \\\\"beta MyApp, \\\alpha, \\beta
MyApp \\\\\"alpha \"beta MyApp, \\"alpha, "beta

コマンド ラインを 1 つの文字列として取得するには、プロパティを CommandLine 使用します。

適用対象

こちらもご覧ください