¿Cómo crear un bucle infinito en el archivo por lotes de Windows?

Esto es básicamente lo que quiero en un archivo por lotes. Quiero poder volver a ejecutar “Do Stuff” cada vez que presiono cualquier tecla para pasar la “Pausa”.

while(true){ Do Stuff Pause } 

Parece que solo hay bucles disponibles y no bucles while en lote. ¿Cómo creo un bucle infinito?

¿Qué tal si utilizamos un buen (?) Viejo goto ?

 :loop echo Ooops goto loop 

Ver también esto para un ejemplo más útil.

Un bucle realmente infinito, que cuenta de 1 a 10 con un incremento de 0.
Necesitas incrementos infinitos o más para alcanzar el 10.

 for /L %%n in (1,0,10) do ( echo do stuff rem ** can't be leaved with a goto (hangs) rem ** can't be stopped with exit /b (hangs) rem ** can be stopped with exit rem ** can be stopped with a syntax error call :stop ) :stop call :__stop 2>nul :__stop () creates a syntax error, quits the batch 

Esto podría ser útil si necesita un bucle realmente infinito, ya que es mucho más rápido que una versión goto :loop porque un for-loop se almacena en caché por completo una vez en el inicio.

Bucle ilimitado en el comando de una línea para usar en las ventanas de cmd :

 FOR /L %N IN () DO @echo Oops 

enter image description here

leer help GOTO

y prueba

 :again do it goto again 

Otra forma mejor de hacerlo:

 :LOOP timeout /T 1 /NOBREAK ::pause or sleep x seconds also valid call myLabel if not ErrorLevel 1 goto :LOOP 

De esta forma también puedes ocuparte de los errores

Aquí hay un ejemplo del uso del bucle:

 echo off cls :begin set /PM=Input text to encode md5, press ENTER to exit: if %M%==%M1% goto end echo.|set /p ="%M%" | openssl md5 set M1=%M% Goto begin 

Este es el lote simple que uso cuando necesito encriptar cualquier mensaje en md5 hash en Windows (se requiere openssl), y el progtwig se repetiría fielmente a excepción de Ctrl + C dado o entrada vacía.