rem Initialize digits just once, at beginning
set "digits=0123456789"
rem Test if "variable1" ends in any digit
if "!digits:%variable1:~-1%=!" neq "%digits%" (
echo Variable1 ends in digit
) else (
echo Variable1 does not end in digit
)
Метод принимает последний символ переменной1: %variable1:~-1%
и пытается исключить его из переменной цифр: "!digits:V=!"
. Если результат отличается от исходного значения переменной цифр: "%digits%"
, то символ действительно был цифрой ...
Обратите внимание, что вам нужно setlocal EnableDelayedExpansion
, чтобы этот метод работал ...