Compartilhar via


Environment.GetCommandLineArgs Método

Definição

Retorna uma matriz de cadeia de caracteres que contém os argumentos de linha de comando 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()

Retornos

String[]

Uma matriz de cadeias de caracteres em que cada elemento contém um argumento da linha de comando. O primeiro elemento é o nome do arquivo executável e os seguintes zero ou mais elementos contêm os argumentos de linha de comando restantes.

Exceções

O sistema não dá suporte a argumentos de linha de comando.

Exemplos

O exemplo a seguir exibe os argumentos de linha de comando do aplicativo.

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
'

Comentários

O primeiro elemento na matriz contém o nome do arquivo do programa em execução. Se o nome do arquivo não estiver disponível, o primeiro elemento será igual a String.Empty. Os elementos restantes contêm tokens adicionais inseridos na linha de comando.

No .NET 5 e versões posteriores, para publicação de arquivo único, o primeiro elemento é o nome do executável do host.

O nome do arquivo do programa pode, mas não é necessário, incluir informações de caminho.

Os argumentos de linha de comando são delimitados por espaços. Você pode usar aspas duplas (") para incluir espaços dentro de um argumento. A aspa única ('), no entanto, não fornece essa funcionalidade.

Se uma aspa dupla seguir duas ou um número par de barras invertidas, cada par de barra invertida em andamento será substituído por uma barra invertida e a aspa dupla será removida. Se uma aspa dupla seguir um número ímpar de barras invertidas, incluindo apenas uma, cada par anterior será substituído por uma barra invertida e a barra invertida restante será removida; no entanto, nesse caso, a aspa dupla não é removida.

A tabela a seguir mostra como os argumentos de linha de comando podem ser delimitados e pressupõe MyApp como o aplicativo em execução atual.

Entrada na linha de comando Argumentos de linha de comando resultantes
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 comando como uma única cadeia de caracteres, use a CommandLine propriedade .

Aplica-se a

Confira também