Environment.GetCommandLineArgs Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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 .