Environment.GetCommandLineArgs Método

Definición

Devuelve una matriz de cadena que contiene los argumentos de la línea de comandos del proceso actual.Returns a string array containing the command-line arguments for the current process.

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.An array of string where each element contains a command-line argument. 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.The first element is the executable file name, and the following zero or more elements contain the remaining command-line arguments.

Excepciones

El sistema no admite argumentos de línea de comandos.The system does not support command-line arguments.

Ejemplos

En el ejemplo siguiente se muestran los argumentos de la línea de comandos de la aplicación.The following example displays the application's command line arguments.

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
*/
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.The first element in the array contains the file name of the executing program. Si el nombre de archivo no está disponible, el primer elemento es igual a String.Empty.If the file name is not available, the first element is equal to String.Empty. Los elementos restantes contienen cualquier token adicional especificado en la línea de comandos.The remaining elements contain any additional tokens entered on the command line.

El nombre del archivo de programa puede, pero no es necesario, incluir información de la ruta de acceso.The program file name can, but is not required to, include path information.

Los argumentos de la línea de comandos están delimitados por espacios.Command line arguments are delimited by spaces. Puede usar comillas dobles (") para incluir espacios dentro de un argumento.You can use double quotation marks (") to include spaces within an argument. Sin embargo, la comilla simple (') no proporciona esta funcionalidad.The single quotation mark ('), however, does not provide this functionality.

Si una comilla doble sigue a dos o un número par de barras diagonales inversas, cada par de barras diagonales inversas se reemplaza por una barra diagonal inversa y se quitan las comillas dobles.If a double quotation mark follows two or an even number of backslashes, each proceeding backslash pair is replaced with one backslash and the double quotation mark is removed. Si una comilla doble sigue un número impar de barras diagonales inversas, incluido solo una, cada par anterior se reemplaza por una barra diagonal inversa y se quita la barra diagonal restante. sin embargo, en este caso no se quita la comilla doble.If a double quotation mark follows an odd number of backslashes, including just one, each preceding pair is replaced with one backslash and the remaining backslash is removed; however, in this case the double quotation mark is not removed.

En la tabla siguiente se muestra cómo se pueden delimitar los argumentos de la línea de comandos y se presupone MyApp como la aplicación que se ejecuta actualmente.The following table shows how command line arguments can be delimited, and assumes MyApp as the current executing application.

Entrada en la línea de comandosInput at the command line Argumentos de línea de comandos resultantesResulting command line arguments
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 propiedad CommandLine.To obtain the command line as a single string, use the CommandLine property.

Se aplica a

Consulte también: