Índice de la sección dedicada a .NET (en el Guille) Cómo... en .NET

Leer los parámetros de la línea de comandos

Código para Visual Basic.NET (VB.NET)

Código para C Sharp (C#)


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.
 


Código para Visual Basic.NET (VB.NET)

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

Código para C Sharp (C#)

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 )
	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)


la Luna del Guille o... el Guille que está en la Luna... tanto monta...