Windows BATCH file: asignar valor a variable en función de los parámetros

Como asignar un valor a una variable en función de si se pasa algún parámetro.

Tenemos un caso en que la llamada a un archivo batch (.bat, .cmd)  a veces le pasamos un parámetro y a veces no, en función de eso hay una variable (cadena) que se le asigna el valor del parámetro o un valor alternativo.

Archivo batch con nombre prueba.bat:

@echo off
if "%1"=="" GOTO CambiarValor
set cadena=%1
echo El valor de la cadena es: %cadena%
pause
exit
:CambiarValor
set cadena=festivo
echo El valor de la cadena es: %cadena%
pause
exit

Cuando llamamos al batch prueba.bat y le pasamos un parámetro, el valor de la variable cadena coge el valor pasado, en el ejemplo lunes. Si no se pasa ningún parámetro la variable cadena se le asigna el valor festivo.

> prueba.bat lunes
El valor de la cadena es: lunes
Presione una tecla para continuar . . .

 

> prueba.bat
El valor de la cadena es: festivo
Presione una tecla para continuar . . .

 

 



Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


 

Leave a Reply

Your email address will not be published. Required fields are marked *