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 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
'
Poznámky
První prvek v poli obsahuje název souboru spouštěného programu. Pokud název souboru není k dispozici, první prvek je roven 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ím prvkem název spustitelného souboru hostitele.
Název souboru programu může, ale není nutné, obsahovat informace o cestě.
Argumenty příkazového řádku jsou oddělené mezerami. K zahrnutí mezer v 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 lomítky, nahradí se každá dvojice zpětných lomítek jedním zpětným lomítkem a dvojitá uvozovka se odebere. Pokud dvojité uvozovky následují lichý počet zpětných lomítek, včetně pouze jednoho, každý předchozí pár je nahrazen jedním zpětným lomítkem a zbývající zpětné lomítko je odstraněn; v tomto případě však dvojité uvozovky neodstraní.
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 .