Environment.GetCommandLineArgs Metódus

Definíció

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

String[]

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 .

A következőre érvényes:

Lásd még