①:数値として扱い、エラーの有無で判定
@echo off
setlocal enabledelayedexpansion
set mayBeNum=123
set /a dummy=!mayBeNum! 2>nul
::数値でない場合だけ、メッセージを出力
if %errorlevel% neq 0 echo !mayBeNum! is Not Num
set mayBeNum=1w3
set /a dummy=!mayBeNum! 2>nul
::数値でない場合だけ、メッセージを出力
if %errorlevel% neq 0 echo !mayBeNum! is Not Num
結果
1w3 is Not Num
②:0-9の数値を除去し、何も残らなければ数値と判定
@echo off
set mayBeNum=o151
set dummy=%mayBeNum%
set dummy=%dummy:=0%
set dummy=%dummy:=1%
set dummy=%dummy:=2%
set dummy=%dummy:=3%
set dummy=%dummy:=4%
set dummy=%dummy:=5%
set dummy=%dummy:=6%
set dummy=%dummy:=7%
set dummy=%dummy:=8%
set dummy=%dummy:=9%
if not "!dummy!"=="" echo !mayBeNum!は数値ではない