@echo off
:pregunta
set /p %hola% = Bucle Infinito? :
if %hola%==SI goto pregunta
El fallo principal es que al setear debes escribir el nombre de la variable sin el operador "
%":
Aparte de eso no debes dejar ningún espacio antes ni después del operador "
=", y la escritura del código en general sigue los malos hábitos de los que empiezan a programar en Batch, te suegiero que te acostumbres a escribir de la manera que te muestro a continuación porque de lo contrario te van a salir muchos errores a menudo:
:pregunta
SET /p "hola=Bucle Infinito?:"
batch.
me pareció un buen lenguaje de scripting
por las incontables maneras de interactuar con el propio sistema operativo.
Solo puedo decirte que a la larga te darás cuenta de que es todo lo contrario y que estás perdiendo el tiempo (sobretodo viniendo de Python),
Batch es práctico para tareas simples, muy simples, y sobre lo de las
incontables maneras de... se quedan en un par de comandos internos útiles, el resto son aplicaciones (llamados comandos externos) que no forman parte del lenguaje y los puedes llamar desde cualquier otro lenguaje,
en resumen cualquier lenguaje es capaz de hacer lo mejor que se pueda llegar a programar en Batch, en la mitad de tiempo, y con las incontables mejoras que esto supone, sobretodo en velocidad de ejecución, Batch es MUY lento.
Saludos!