Environment.GetCommandLineArgs Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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à .