Environment.GetCommandLineArgs Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 .