Hola muy buenas!
Pues esty empezando en esto de los .bat y tengo un error básico en uno para calcular el factorial de un número que me devuelve "No se esperaba 0 en este momento" cuando introduzco un parámetro y yo lo que pretendo es que se muestre el mesaje "No ha introducido argumentos"
alguien me ilumina?
@echo off
cls
rem script que calcula el factorial de un numero
:volver
rem x es el parametro 1
set x=%1
rem si el numero es menor de 0 dara error
rem si el numero es igual 0 valdrá 1
rem si no introduzco un número dara error
rem iniciamos conta en 1 e ira acumulando
set /a conta=1
if "%1" =="" (
echo No ha introducido argumentos
goto fin
) else (
if %x% lss 0 (
echo No se permiten numeros negativos
goto fin)
if "%x%" geq "a" (
echo No se permiten letras
goto fin)
)
if "%x%"=="0" (
set /a conta=1
goto solucion
) else (
if "%x%"=="1" (
set /a conta=1
goto solucion)
)
:inicio
rem aqui se iran almacenando los resultados
set /a conta=conta*x
rem aqui la variable x va decreciendo
set /a x=x-1
if "%x%"=="1" (
goto solucion
) else (
goto inicio
)
:solucion
@echo el factorial es %conta%
:fin
pause