Lote - Compare variável com expressão regular

Estou fazendo um script em lote que precisa verificar se existem alguns programas instalados no computador. Para isso, eu executoprogramName --version e eu guardo a saída em uma variável. O problema é quando tento comparar com uma expressão regular (apenas para saber se esse programa existe na máquina). Estou tentando esse código, mas não funciona

>output.tmp node --version
<output.tmp (set /p hasNode= )
if "%hasNode%" == "[vV][0-9.]*" (echo Has node) else (echo You have to install node)

Se eu alterar a expressão regular para a saída deste comando funcionar corretamente, suponho que estou fazendo um mau uso da expressão regular (eu verifiquei e está bom para a saída do comando)

Obrigado quatro sua ajuda pessoal

questionAnswers(1)

yourAnswerToTheQuestion