Environment.GetCommandLineArgs Metodo

Definizione

Restituisce una matrice di stringa contenente gli argomenti della riga di comando per il processo corrente.

public:
 static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs ();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()

Restituisce

String[]

Una matrice di stringhe in cui ogni elemento contiene un argomento della riga di comando. Il primo elemento è il nome del file eseguibile, mentre i successivi zero o più elementi contengono i restanti argomenti della riga di comando.

Eccezioni

Il sistema non supporta gli argomenti della riga di comando.

Esempio

Nell'esempio seguente vengono visualizzati gli argomenti della riga di comando dell'applicazione.

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
'

Commenti

Il primo elemento della matrice contiene il nome del file del programma in esecuzione. Se il nome del file non è disponibile, il primo elemento è uguale a String.Empty. Gli elementi rimanenti contengono altri token immessi nella riga di comando.

In .NET 5 e versioni successive, per la pubblicazione a file singolo, il primo elemento è il nome dell'eseguibile host.

Il nome del file di programma può, ma non è necessario, includere le informazioni sul percorso.

Gli argomenti della riga di comando sono delimitati da spazi. È possibile usare virgolette doppie (") per includere spazi all'interno di un argomento. La virgoletta singola ('), tuttavia, non fornisce questa funzionalità.

Se una virgoletta doppia segue due o un numero pari di barre rovesciate, ogni coppia di barra rovesciata continua viene sostituita con una barra rovesciata e viene rimossa la virgoletta doppia. Se una virgoletta doppia segue un numero di barre rovesciate dispari, inclusa una sola, ogni coppia precedente viene sostituita con una barra rovesciata e la barra rovesciata rimanente viene rimossa; tuttavia, in questo caso la virgoletta doppia non viene rimossa.

Nella tabella seguente viene illustrato come è possibile delimitare gli argomenti della riga di comando e si presuppone MyApp come applicazione corrente in esecuzione.

Input nella riga di comando Argomenti della riga di comando risultanti
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

Per ottenere la riga di comando come singola stringa, usare la CommandLine proprietà .

Si applica a

Vedi anche