Environment.GetCommandLineArgs Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí pole řetězců obsahující argumenty příkazového řádku pro aktuální proces.
public:
static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()
Návraty
Pole řetězců, kde každý prvek obsahuje argument příkazového řádku. První prvek je název spustitelného souboru a následující nula nebo více prvků obsahují zbývající argumenty příkazového řádku.
Výjimky
Systém nepodporuje argumenty příkazového řádku.
Příklady
Následující příklad zobrazí argumenty příkazového řádku aplikace.
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
'
Poznámky
První prvek v poli obsahuje název souboru spuštěného programu. Pokud název souboru není k dispozici, první prvek se rovná String.Empty. Zbývající prvky obsahují všechny další tokeny zadané na příkazovém řádku.
V .NET 5 a novějších verzích je pro publikování s jedním souborem první prvek název spustitelného souboru hostitele.
Název souboru programu může obsahovat informace o cestě, ale nevyžaduje se.
Argumenty příkazového řádku jsou oddělené mezerami. K zahrnutí mezer do argumentu můžete použít dvojité uvozovky ("). Jednoduchá uvozovka (') však tuto funkci neposkytuje.
Pokud dvojitá uvozovka následuje za dvěma nebo sudými čísly zpětných lomítek, nahradí se každá dvojice zpětného lomítka jedním zpětným lomítkem a dvojitá uvozovka se odebere. Pokud dvojitá uvozovka následuje lichý počet zpětných lomítek, včetně jednoho, nahradí se každý předchozí pár jedním zpětným lomítkem a zbývající zpětné lomítko se odebere; v tomto případě se však dvojitá uvozovka neodebere.
Následující tabulka ukazuje, jak lze oddělovat argumenty příkazového řádku a předpokládá MyApp se jako aktuální spuštěná aplikace.
| Vstup na příkazovém řádku | Výsledné argumenty příkazového řádku |
|---|---|
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 |
Chcete-li získat příkazový řádek jako jeden řetězec, použijte CommandLine vlastnost.