Se você quiser verificar se uma variável contém apenas letras, você pode usar findstr , assim:
set var=Abc
echo %var%|findstr "^[A-Za-z]*$" >nul
if %errorlevel% == 0 (echo Variable is alphabetical)
Como funciona
A variável é ecoada e depois canalizada para o comando findstr , que usará um expressão regular para corresponder a caracteres alfabéticos:
-
^corresponde ao início da linha; -
[A-Za-z]define uma classe de caracteres que corresponde a qualquer caractere de A a Z, em maiúsculas e minúsculas; / li> -
*repete zero ou mais ocorrências da classe anterior; -
$corresponde ao fim da linha.
A variável %errorlevel% será definida como 0 se houver uma correspondência ou 1 caso contrário. A saída findstr será então redirecionada para nul , portanto, ignorada.