Environment.GetCommandLineArgs Metoda

Definicja

Zwraca tablicę ciągów zawierającą argumenty wiersza polecenia dla bieżącego procesu.

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

Zwraca

String[]

Tablica ciągów, w której każdy element zawiera argument wiersza polecenia. Pierwszym elementem jest nazwa pliku wykonywalnego, a następujące zero lub więcej elementów zawiera pozostałe argumenty wiersza polecenia.

Wyjątki

System nie obsługuje argumentów wiersza polecenia.

Przykłady

Poniższy przykład przedstawia argumenty wiersza polecenia aplikacji.

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
'

Uwagi

Pierwszy element w tablicy zawiera nazwę pliku wykonywanego programu. Jeśli nazwa pliku jest niedostępna, pierwszy element jest równy String.Empty. Pozostałe elementy zawierają wszelkie dodatkowe tokeny wprowadzone w wierszu polecenia.

W programach .NET 5 i nowszych w przypadku publikowania jednokrotnego pierwszy element to nazwa pliku wykonywalnego hosta.

Nazwa pliku programu może, ale nie jest wymagana, dołącz informacje o ścieżce.

Argumenty wiersza polecenia są rozdzielane spacjami. Można użyć podwójnych cudzysłowów ("), aby uwzględnić spacje w argumencie. Jednak pojedynczy cudzysłów (') nie zapewnia tej funkcji.

Jeśli podwójny cudzysłów jest zgodny z 2 lub parzystą liczbą ukośników odwrotnych, każda kontynuacja pary ukośników odwrotnych zostanie zastąpiona jednym ukośnikiem odwrotnym, a podwójny cudzysłów zostanie usunięty. Jeśli podwójny cudzysłów następuje nieparzysta liczba ukośników odwrotnych, w tym tylko jedna, każda poprzednia para zostanie zastąpiona jednym ukośnikiem odwrotnym, a pozostałe ukośnik odwrotny zostanie usunięty; jednak w tym przypadku podwójny cudzysłów nie jest usuwany.

W poniższej tabeli pokazano, jak można rozdzielać argumenty wiersza polecenia i zakłada MyApp się, że jako bieżąca aplikacja wykonująca.

Dane wejściowe w wierszu polecenia Wynikowe argumenty wiersza polecenia
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

Aby uzyskać wiersz polecenia jako pojedynczy ciąg, użyj CommandLine właściwości .

Dotyczy

Zobacz też