Environment.GetCommandLineArgs Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve um array de string contendo os argumentos da linha de comandos para o processo atual.
public:
static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()
Devoluções
Um array de cadeias onde cada elemento contém um argumento de linha de comandos. O primeiro elemento é o nome do ficheiro executável, e os seguintes zero ou mais elementos contêm os argumentos restantes da linha de comandos.
Exceções
O sistema não suporta argumentos de linha de comandos.
Exemplos
O exemplo seguinte apresenta os argumentos da linha de comandos da aplicação.
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
'
Observações
O primeiro elemento do array contém o nome do ficheiro do programa em execução. Se o nome do ficheiro não estiver disponível, o primeiro elemento é igual a String.Empty. Os elementos restantes contêm quaisquer fichas adicionais introduzidas na linha de comandos.
No .NET 5 e versões posteriores, para publicação de ficheiro único, o primeiro elemento é o nome do executável anfitrião.
O nome do ficheiro do programa pode, mas não é obrigado, incluir informação de caminho.
Os argumentos da linha de comandos são delimitados por espaços. Pode usar aspas duplas (") para incluir espaços dentro de um argumento. No entanto, a aspas simples ('), não oferece esta funcionalidade.
Se uma aspas dupla seguir duas ou um número par de barras invertidas, cada par de barras anteriores é substituído por uma barra e a aspas dupla é removida. Se uma aspas dupla seguir um número ímpar de barras invertidas, incluindo apenas uma, cada par anterior é substituído por uma barra inversa e a restante barra é removida; no entanto, neste caso, a dupla aspas não é removida.
A tabela seguinte mostra como os argumentos da linha de comandos podem ser delimitados e assume MyApp que a aplicação em execução atual.
| Entrada na linha de comandos | Argumentos resultantes da linha de comandos |
|---|---|
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 |
Para obter a linha de comandos como uma única string, use a CommandLine propriedade.