Environment.GetCommandLineArgs Metoda

Definice

Vrátí pole řetězců obsahující argumenty příkazového řádku pro aktuální proces.

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

Návraty

String[]

Pole řetězců, kde každý prvek obsahuje argument příkazového řádku. Prvním prvkem je název spustitelného souboru a následující nula nebo více prvků obsahují zbývající argumenty příkazového řádku.

Výjimky

Systém nepodporuje argumenty příkazového řádku.

Příklady

Následující příklad zobrazuje argumenty příkazového řádku aplikace.

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
'

Poznámky

První prvek v poli obsahuje název souboru spuštěného programu. Pokud název souboru není k dispozici, první prvek se rovná String.Empty. Zbývající prvky obsahují všechny další tokeny zadané na příkazovém řádku.

V .NET 5 a novějších verzích je první prvek pro publikování s jedním souborem název spustitelného souboru hostitele.

Název souboru programu může, ale není nutný, zahrnout informace o cestě.

Argumenty příkazového řádku jsou oddělené mezerami. Dvojité uvozovky (") můžete použít k zahrnutí mezer do argumentu. Jednoduchá uvozovka (') však tuto funkci neposkytuje.

Pokud dvojitá uvozovka následuje za dvěma nebo sudými čísly zpětných lomítek, nahradí se každá dvojice zpětného lomítka jedním zpětným lomítkem a dvojitá uvozovka se odebere. Pokud dvojitá uvozovka následuje lichý počet zpětných lomítek, včetně jednoho, nahradí se každý předchozí pár jedním zpětným lomítkem a zbývající zpětné lomítko se odebere; V tomto případě se však dvojitá uvozovka neodebere.

Následující tabulka ukazuje, jak lze oddělovat argumenty příkazového řádku a předpokládá MyApp se jako aktuální spuštěná aplikace.

Vstup na příkazovém řádku Výsledné argumenty příkazového řádku
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

K získání příkazového řádku jako jednoho řetězce použijte CommandLine vlastnost.

Platí pro

Viz také