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
			
			
			
				Esta es una posible solución 
@echo off
:ESNUMERO
	echo.
	set/p number= "Ingrese un numero: "
	if not defined number (echo ERROR: No se ha ingresado nada && goto:ESNUMERO)
	set "variable=false"
	for /f "delims=abcdefghijklmnopqrstuvwxyzñABCDEFGHIJKLMNOPQRSTUVWXYZÑ" %%a in ("%number%") do set "variable=true"
	if ["%variable%"]==["true"] (
	if %number% LSS 0 (goto ESNUMERO)
	echo se ha ingresado en numero %number%
	pause>>nul
	exit /b 0
	) else (
	echo ERROR: Solo se pueden ingresar numeros
	goto :ESNUMERO
	)
PD: este código tiene sus limites en cuanto a números negativos