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.