Environment.GetCommandLineArgs Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy sztringtömböt ad vissza, amely az aktuális folyamat parancssori argumentumait tartalmazza.
public:
static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()
Válaszok
Karakterláncok tömbje, ahol minden elem tartalmaz egy parancssori argumentumot. Az első elem a végrehajtható fájlnév, és a következő nulla vagy több elem tartalmazza a fennmaradó parancssori argumentumokat.
Kivételek
A rendszer nem támogatja a parancssori argumentumokat.
Példák
Az alábbi példa az alkalmazás parancssori argumentumait jeleníti meg.
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
'
Megjegyzések
A tömb első eleme tartalmazza a végrehajtó program fájlnevét. Ha a fájlnév nem érhető el, az első elem egyenlő.String.Empty A fennmaradó elemek a parancssorba beírt további jogkivonatokat tartalmazzák.
Az .NET 5-ös és újabb verzióiban az egyfájlos közzététel esetében az első elem a végrehajtható gazdagép neve.
A programfájl neve tartalmazhat elérési utat, de nem kötelező.
A parancssori argumentumokat szóközök határolják el. Dupla idézőjelek (") használatával szóközöket is tartalmazhat egy argumentumon belül. Az egyetlen idézőjel (') azonban nem biztosítja ezt a funkciót.
Ha a kettős idézőjel két vagy páros számú fordított perjelet követ, minden egyes fordított perjelpár egy fordított perjelre cserélődik, és a kettős idézőjel el lesz távolítva. Ha a kettős idézőjel páratlan számú fordított perjelet követ, beleértve csak egyet is, az előző párokat egy fordított perjelre cseréli, és a fennmaradó fordított perjel el lesz távolítva; ebben az esetben azonban a kettős idézőjel nem törlődik.
Az alábbi táblázat bemutatja, hogyan tagolhatók a parancssori argumentumok, és feltételezi MyApp , hogy az aktuális végrehajtó alkalmazás.
| Bemenet a parancssorban | Eredményként kapott parancssori argumentumok |
|---|---|
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 |
A parancssor egyetlen sztringként való beszerzéséhez használja a tulajdonságot CommandLine .