Publicado el 21/Jun/2002
Actualizado el 21/Jun/2002
Los parámetros de la línea de comandos, son los que se especifican como argumentos de un ejecutable, por ejemplo:
prueba.exe parámetro1 /parámetro2
Cada parámetro se separa mediante un espacio, (la barra o el signo menos es opcional)En .NET Framework se pueden obtener usando la clase Environment, de dos formas:
- La propiedad CommandLine devuelve TODA la línea de comando, incluyendo el nombre del ejecutable.
- El método GetCommandLineArgs devuelve un array de tipo String con cada uno de los parámetros, siendo el que está en el índice cero el nombre del ejecutable.Hay que tener en cuenta que se entiende que cada parámetro está separado del anterior mediante un espacio, aunque esto último no es aplicable al nombre del ejecutable, el cual puede contener espacios tanto en el nombre del ejecutable como en el path del mismo.
En el código que se muestra a continuación, se usa el método GetCommandLineArgs para acceder a los parámetros (o argumentos) que se han indicado con el ejecutable.
Para asignar todos los parámetros a un TextBox (o a un array del tipo String):
' Comprobar si hay más de un parámetro, ' el parámetro CERO es el nombre del ejecutable If Environment.GetCommandLineArgs.Length > 1 Then TextBox1.Lines = Environment.GetCommandLineArgs Else TextBox1.Text = "No se han indicado parámetros en la línea de comandos" & vbCrLf & _ "El nombre (y path) del ejecutable es:" & vbCrLf & _ Environment.GetCommandLineArgs(0) End If
Para asignar sólo el primer parámetro
(realmente el segundo, ya que el primero es el nombre y path del ejecutable):' Si sólo se quiere acceder al primer parámetro... ' (el indicado después del nombre del ejecutable)Dim s As String If Environment.GetCommandLineArgs.Length > 1 Then s = Environment.GetCommandLineArgs(1) TextBox1.Text = s Else TextBox1.Text = "No se han indicado parámetros en la línea de comandos" & vbCrLf & _ "El nombre (y path) del ejecutable es:" & vbCrLf & _ Environment.GetCommandLineArgs(0) End If
Para asignar todos los parámetros a un TextBox (o a un array del tipo String):
// Comprobar si hay más de un parámetro, // el parámetro CERO es el nombre del ejecutableif( Environment.GetCommandLineArgs().Length > 1 ) textBox1.Lines = Environment.GetCommandLineArgs(); else textBox1.Text = "No se han indicado parámetros en la línea de comandos\r\n" + "El nombre (y path) del ejecutable es:\r\n" + Environment.GetCommandLineArgs()[0];
Para asignar sólo el primer parámetro
(realmente el segundo, ya que el primero es el nombre y path del ejecutable):// Si sólo se quiere acceder al primer parámetro... // (el indicado después del nombre del ejecutable)if( Environment.GetCommandLineArgs().Length > 1 ){ String s = Environment.GetCommandLineArgs()[1]; textBox1.Text = s; } else textBox1.Text = "No se han indicado parámetros en la línea de comandos\r\n" + "El nombre (y path) del ejecutable es:\r\n" + Environment.GetCommandLineArgs()[0];
Pulsa este link para bajarte el código para VB y C# (commandLine.zip 15.2 KB)