"Contador" em lote
estou a tentar fazer um ficheiro em lote que irá aumentar uma variável em 1 de cada vez que fizer loops, e depois verificar se a variável é igual a 5, e se não for, volta a fazer loops. Eu sei que provavelmente há um loop de um tempo para isso, mas eu não sabia como fazer isso, e eu estou apenas gostando de aprender lote por diversão agora
Aqui está o código, ele não funciona como deveria, ele apenas exibe um 0: e então não faz mais nada. Então, como é que eu o arranjaria? Tenho a sensação que estou a preparar-me e ... aumentar a variável errado, e talvez esteja confuso sobre as afirmações do 2 if? (Does it have an else if....? De qualquer forma, obrigado pela ajuda.@echo off
set /p i=0:
goto A
:A
set /p i=i+1:
if i != 5 goto C
if i == 5 goto B
:C
echo Test :D
:B
pause>nul
Nota: não sei muito lote e não sou profissional, mas gosto de aprender e só estou a fazer isto para referência futura, e porque gosto disso. Então, este código provavelmente não é bom, mas eu quero saber como posso conseguir isso.
5 answers
goto
:
@echo off
set /a x=0
:while
if %x% lss 5 (
echo %x%
pause>nul
set /a x+=1
goto :while
)
echo Test :D
Para definir um valor numérico para uma variável, pode usar o botão /a
:
O botão /a Especifica que o texto à direita do sinal igual é uma expressão numérica que é avaliada.
(Tipo SET /?
para toda a ajuda).
Segundo, verifique o seu {[[2]} Fluxo - isto nunca volta para A.
Em terceiro lugar, verifique a sintaxe da expressão if
(!=
não existe em lote).
@echo off
set var1=0
:loop
set /a var1=%var1%+1
echo %var1%
if %var1% EQU 5 (
goto :end
) else (
goto :loop
)
:end
pause
Você pode fazer isso com um simples comando FOR
:
for /l %%x in (0,1,100) do (
echo %%x
)
Pode substituir 100
pelo número que quiser
@echo off
set a=0
:Count
set /a a=a+1
echo %a%
goto Count