Environment.GetCommandLineArgs Método

Definição

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

String[]

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.

Aplica-se a

Ver também