Environment.GetCommandLineArgs Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 .