Environment.GetCommandLineArgs Método

Definición

Devuelve una matriz de cadenas que contiene los argumentos de la línea de comandos para el 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[]

Matriz de cadenas donde cada elemento contiene un argumento de línea de comandos. El primer elemento es el nombre de archivo ejecutable y los siguientes 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 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 ejecutable host.

El nombre del archivo de programa puede, pero no es necesario para 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 (') 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 en curso 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