Environment.GetCommandLineArgs Método

Definición

Devuelve una matriz de cadena que contiene los argumentos de la línea de comandos del proceso actual.

public:
 static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs ();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()

Devoluciones

String[]

Una matriz de cadenas en la que cada elemento contiene un argumento de la línea de comandos. El primer elemento es el nombre del archivo ejecutable y los demás cero o más elementos contienen los argumentos de la línea de comandos restantes.

Excepciones

El sistema no admite argumentos de línea de comandos.

Ejemplos

En el ejemplo siguiente se muestran los argumentos de la línea de comandos de la aplicación.

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
'

Comentarios

El primer elemento de la matriz contiene el nombre de archivo del programa en ejecución. Si el nombre de archivo no está disponible, el primer elemento es igual a String.Empty. Los elementos restantes contienen los tokens adicionales especificados en la línea de comandos.

En .NET 5 y versiones posteriores, para la publicación de un solo archivo, el primer elemento es el nombre del archivo ejecutable del host.

El nombre del archivo de programa puede, pero no es necesario, incluir información de ruta de acceso.

Los argumentos de la línea de comandos se delimitan por espacios. Puede usar comillas dobles (") para incluir espacios dentro de un argumento. Sin embargo, la comilla simple ('), sin embargo, no proporciona esta funcionalidad.

Si una comilla doble sigue dos o un número par de barras diagonales inversas, cada par de barra diagonal inversa de procedimiento se reemplaza por una barra diagonal inversa y se quita la comilla doble. Si una comilla doble sigue un número impar de barras diagonales inversas, incluida una, cada par anterior se reemplaza por una barra diagonal inversa y se quita la barra diagonal inversa restante; sin embargo, en este caso no se quita la comilla doble.

En la tabla siguiente se muestra cómo se pueden delimitar los argumentos de la línea de comandos y se supone MyApp que es la aplicación en ejecución actual.

Entrada en la línea de comandos Argumentos de línea de comandos 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 obtener la línea de comandos como una sola cadena, use la CommandLine propiedad .

Se aplica a

Consulte también