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
*/
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 ausgeführten Programms. Wenn der Dateiname nicht verfügbar ist, ist das erste Element gleich String.Empty . Die übrigen Elemente enthalten alle zusätzlichen Token, die in der Befehlszeile eingegeben werden.

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

Der Name der Programmdatei kann Pfadinformationen enthalten, ist aber nicht erforderlich.

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

Wenn ein doppeltes Anführungszeichen auf zwei oder eine gerade Anzahl umgekehrter Schrägstriche folgt, wird jedes fortgesetzte umgekehrte Schrägstrichpaar durch einen umgekehrten Schrägstrich ersetzt, und das doppelte Anführungszeichen wird entfernt. Wenn ein doppeltes Anführungszeichen auf eine ungerade Anzahl von umgekehrten Schrägstrichen folgt, einschließlich nur eines, wird jedes vorangehende 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 getrennt werden können, und nimmt MyApp als die aktuell ausgeführte Anwendung an.

Eingabe in 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 Befehlszeile als einzelne Zeichenfolge CommandLine abzurufen.

Gilt für

Siehe auch