Environment.GetCommandLineArgs メソッド

定義

現在のプロセスに対するコマンド ライン引数を格納している文字列配列を返します。Returns a string array containing the command-line arguments for the current process.

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

戻り値

String[]

各要素にコマンド ライン引数を格納している文字列の配列。An array of string where each element contains a command-line argument. 先頭の要素には実行可能ファイルの名前、それに続く 0 個以上の要素には残りのコマンド ライン引数が格納されます。The first element is the executable file name, and the following zero or more elements contain the remaining command-line arguments.

例外

システムでは、コマンドライン引数はサポートされません。The system does not support command-line arguments.

次の例では、アプリケーションのコマンドライン引数を表示します。The following example displays the application's command line arguments.

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
*/
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
'    

注釈

配列の最初の要素には、実行中のプログラムのファイル名が含まれています。The first element in the array contains the file name of the executing program. ファイル名が使用できない場合、最初の要素は String.Empty と等しくなります。If the file name is not available, the first element is equal to String.Empty. 残りの要素には、コマンドラインで入力された追加のトークンが含まれます。The remaining elements contain any additional tokens entered on the command line.

プログラムファイル名は、パス情報を含めることはできますが、必須ではありません。The program file name can, but is not required to, include path information.

コマンドライン引数は、スペースで区切られます。Command line arguments are delimited by spaces. 二重引用符 (") を使用して、引数内にスペースを含めることができます。You can use double quotation marks (") to include spaces within an argument. ただし、単一引用符 (') では、この機能は提供されません。The single quotation mark ('), however, does not provide this functionality.

二重引用符が2つまたは偶数個の円記号の後に続く場合、それぞれの円記号のペアは1つの円記号に置き換えられ、二重引用符は削除されます。If a double quotation mark follows two or an even number of backslashes, each proceeding backslash pair is replaced with one backslash and the double quotation mark is removed. 二重引用符が、1つだけを含む奇数の円記号の後に続く場合、先行する各ペアは1つの円記号に置き換えられ、残りの円記号は削除されます。ただし、この場合、二重引用符は削除されません。If a double quotation mark follows an odd number of backslashes, including just one, each preceding pair is replaced with one backslash and the remaining backslash is removed; however, in this case the double quotation mark is not removed.

次の表は、コマンドライン引数を区切る方法を示しています。また、現在実行中のアプリケーションとして MyApp と想定されています。The following table shows how command line arguments can be delimited, and assumes MyApp as the current executing application.

コマンドラインでの入力Input at the command line 結果のコマンドライン引数Resulting command line arguments
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 プロパティを使用します。To obtain the command line as a single string, use the CommandLine property.

セキュリティ

EnvironmentPermission
PATH 環境変数への読み取りアクセスの場合。for read access to the PATH environment variable. 関連付けられた列挙型: ReadAssociated enumeration: Read

適用対象

こちらもご覧ください