none
Como fazer um loop dentro de outro loop ? - Batch Script RRS feed

  • Pergunta

  • Preciso de ajuda em uma batch. Como atualizar a variável %time_a% sem usar goto e call antes de pressionar 1 ou 2
    Gostaria que você usasse o comando for
    Exemplo:

    @echo off
    title Example
    set "time_a=100"
    
    :loop
    call :temp
    cls
    :: Preciso de "Echo% time_a%" para atualizar antes de digitar.
    Echo %time%
    choice /c 12 /n
    if %errorlevel% == 1 goto:EXEMPLO_ONE
    if %errorlevel% == 2 goto:EXEMPLO_TWO
    goto:loop
    
    
    :temp
    Set /a "time_a-=1"
    goto:EOF

    • Editado zHaRd quarta-feira, 14 de dezembro de 2016 00:57
    quarta-feira, 14 de dezembro de 2016 00:53

Todas as Respostas

  • Olá. Se você der mais detalhes da finalidade desse bat, talvez eu possa ajudar.
    quarta-feira, 14 de dezembro de 2016 15:22
  • Eu estou desenvolvendo um jogo em batch uso o script externo "batbox"

    No exemplo acima, preciso que a variavel %time_a% seja atualizada infinitamente antes do choice.

    tipo: ela fica contando igual se estive dentro de um loop

    Set "time_a=100"
    :loop 
    set /a "time_a-=1"
    cls

    Echo %time_a% 
    goto:loop

    Mas no meu jogo preciso que o player fique com autorun e quando aperto A ou D ele mude direção e continue andando.

    quarta-feira, 14 de dezembro de 2016 19:00
  • Olá. É um pouco complicado trabalhar com datas e horas num BAT. Você poderia usar PowerShell ou VBscritp que são bem mais poderosos.

    Quanto ao loop, você poderia tentar assim:

    for /L %%n in (1,0,10) do (
      echo do stuff

    )

    sexta-feira, 16 de dezembro de 2016 13:25