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í prvek 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 zobrazí 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 spouštěného programu. Pokud název souboru není k dispozici, první prvek je roven 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 pro publikování s jedním souborem prvním prvkem název spustitelného souboru hostitele.

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

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

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

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

Chcete-li získat příkazový řádek jako jeden řetězec, použijte CommandLine vlastnost .

Platí pro

Viz také