Programación en batch. Comparar una cadena con un número entero

Junt4cadav3r

Hola
estoy empezando en esto de programar, estudio primero de Asir
y tengo una duda con la programación con archivos.bat

quiero que el usuario pueda poner un valor a una variable
sé que esto se logra con un set /p
sin embargo, quiero que los valores estén restringidos solo a números, no a cadenas te textos

set /p num="dame un numero"

obvio pues si el usuario pusiese una letra
no podría hacer operaciones aritmética con dicho valor. saludos

B

comprueba si la variable contiene un número, si no lo tiene, échalo para atrás, si lo tiene, procede con la aritmética.

SET "var="&for /f "delims=0123456789" %%i in ("%variable") do set var=%%i
if defined var (echo %variable No es un numero) else ([b]##tu aritmética##[/b])
yasurio

Aqui solamente saben hacer pseudocodigos

1 respuesta
B

#3 Si te parece te hago a ti también los deberes de mates.

PD: el ejemplo que he puesto en #2 es una manera de hacerlo, seguro que hay mejores, pero la idea básicamente que tienes que tener, #1 es que tienes que ver si dentro de la variable hay un número u otra cosa y proceder al respecto en ambas situaciones.

Es más importante que pilles el concepto que el código en sí.

yasurio

No lo digo por ti xD

Usuarios habituales