Environment.GetCommandLineArgs Methode

Definition

Gibt ein Zeichenfolgenarray mit den Befehlszeilenargumenten für den aktuellen Prozess zurück.

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

Gibt zurück

String[]

Ein Array von Zeichenfolgen, in dem jedes Element ein Befehlszeilenargument enthält. Das erste Element ist der Name der ausführbaren Datei. Falls nachfolgende Elemente vorhanden sind, enthalten sie die restlichen Befehlszeilenargumente.

Ausnahmen

Das System unterstützt keine Befehlszeilenargumente.

Beispiele

Im folgenden Beispiel werden die Befehlszeilenargumente der Anwendung angezeigt.

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
'

Hinweise

Das erste Element im Array enthält den Dateinamen des ausführenden Programms. Wenn der Dateiname nicht verfügbar ist, ist das erste Element gleich String.Empty. Die restlichen Elemente enthalten alle zusätzlichen Token, die in der Befehlszeile eingegeben werden.

In .NET 5 und höheren Versionen ist das erste Element für die Veröffentlichung mit einer einzelnen Datei der Name der ausführbaren Hostdatei.

Der Programmdateiname kann Pfadinformationen enthalten, ist aber nicht erforderlich.

Befehlszeilenargumente werden durch Leerzeichen getrennt. Sie können doppelte Anführungszeichen (") verwenden, um Leerzeichen in ein Argument einzuschließen. Das einfache Anführungszeichen (') bietet diese Funktionalität jedoch nicht.

Wenn ein doppeltes Anführungszeichen zwei oder eine gerade Anzahl von umgekehrten Schrägstrichen folgt, wird jedes voranschreibte umgekehrte Schrägstrichpaar durch einen umgekehrten Schrägstrich ersetzt, und das doppelte Anführungszeichen wird entfernt. Wenn ein doppeltes Anführungszeichen einer ungerade Anzahl von umgekehrten Schrägstrichen folgt, einschließlich nur eines, wird jedes vorherige Paar durch einen umgekehrten Schrägstrich ersetzt, und der verbleibende umgekehrte Schrägstrich wird entfernt. In diesem Fall wird das doppelte Anführungszeichen jedoch nicht entfernt.

Die folgende Tabelle zeigt, wie Befehlszeilenargumente durch Trennzeichen getrennt werden können, und geht davon aus MyApp , dass sie die aktuell ausgeführte Anwendung ist.

Eingabe an der Befehlszeile Resultierende Befehlszeilenargumente
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

Verwenden Sie die -Eigenschaft, um die CommandLine Befehlszeile als einzelne Zeichenfolge abzurufen.

Gilt für:

Weitere Informationen