while terminar for ejemplos como ciclo bucle anidado command-line for-loop dos

command-line - terminar - for anidado python



DOS FOR bucle en el rango a través de la línea de comandos (2)

Puede usar la etiqueta / l en su declaración para hacerla circular a través de un conjunto de números.

p.ej.

C:/> FOR /l %i in (1,1,1000) DO myProg.exe

Esto dice bucle a través del rango, comenzando en 1, paso a paso 1 a la vez, hasta 1000

http://ss64.com/nt/for_l.html

Quiero realizar una operación varias veces desde una ventana de DOS. El sentido común me dice que un bucle DOS FOR debería poder manejar esto. Por supuesto, si quiero ejecutar, por ejemplo, myProg.exe , puedo abrir una ventana de comandos y usar:

C:/> FOR %i in (1 2 3) DO myProg.exe

Fácil.

¿Pero qué myProg.exe si quiero ejecutar myProg.exe 1000 veces? Quiero especificar un rango en el ciclo FOR, pero tengo problemas para ver cómo hacerlo.

Intuitivamente, parece que debería poder hacer algo como uno de los siguientes:

C:/> FOR %i in (1 to 1000) DO myProg.exe C:/> FOR %i in (1-1000) DO myProg.exe

Pero, por supuesto, esto no funciona. El bucle FOR interpreta la lista como 3 tokens y 1 token, respectivamente, por lo que myProg.exe solo se ejecuta 3 veces y 1 vez, respectivamente.

Solución de archivo por lotes

Probablemente sería fácil escribir algún tipo de archivo por lotes (.bat):

SET COUNT=0 :MyLoop IF "%COUNT%" == "1000" GOTO EndLoop myProg.exe SET /A COUNT+=1 GOTO MyLoop :EndLoop

¿Pero no hay una manera fácil de hacer esto desde la línea de comandos?


para / l %% i en (1,1,100) do echo %% i

añadir otro signo% antes de que yo trabaje