Environment.GetCommandLineArgs Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein Zeichenfolgenarray zurück, das die Befehlszeilenargumente für den aktuellen Prozess enthält.
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
Ein Array von Zeichenfolgen, in denen jedes Element ein Befehlszeilenargument enthält. Das erste Element ist der Name der ausführbaren Datei, und die folgenden null oder mehr Elemente enthalten die verbleibenden Befehlszeilenargumente.
Ausnahmen
Das System unterstützt keine Befehlszeilenargumente.
Beispiele
Im folgenden Beispiel werden die Befehlszeilenargumente der Anwendung angezeigt.
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 ausgeführten Programms. Wenn der Dateiname nicht verfügbar ist, ist das erste Element gleich String.Empty. Die verbleibenden Elemente enthalten alle zusätzlichen Token, die in der Befehlszeile eingegeben wurden.
In .NET 5 und neueren Versionen ist das erste Element der Name der ausführbaren Hostdatei.
Der Name der Programmdatei kann, ist jedoch nicht erforderlich, um Pfadinformationen einzuschließen.
Befehlszeilenargumente werden durch Leerzeichen getrennt. Sie können doppelte Anführungszeichen (") verwenden, um Leerzeichen in ein Argument einzuschließen. Das einfache Anführungszeichen (') stellt diese Funktionalität jedoch nicht bereit.
Wenn ein doppeltes Anführungszeichen zwei oder eine gerade Anzahl von umgekehrten Schrägstrichen 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 einer, wird jedes vorhergehende 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.
In der folgenden Tabelle wird gezeigt, wie Befehlszeilenargumente durch Trennzeichen getrennt werden können, und es wird als aktuelle ausgeführte Anwendung angenommen MyApp .
| 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 CommandLine Eigenschaft, um die Befehlszeile als einzelne Zeichenfolge abzurufen.