批处理中的"计数器"

Wol*_*621 6 batch-file

我正在尝试制作一个批处理文件,每次循环时将变量增加1,然后检查变量是否等于5,如果不是,则再次循环.我知道这可能有一个循环,但我不知道该怎么做,我只是喜欢现在学习批处理

这是代码,它不会按照它应该的方式工作,它只显示一个0:然后不执行任何其他操作.那么我该怎么做呢?我有一种感觉,我设置并将变量递增错误,也许它对2 if语句感到困惑?(如果......还有别的吗?)无论如何,谢谢你的帮助

@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
Run Code Online (Sandbox Code Playgroud)

注意:我不知道很多批次,我不是专业人士,但我喜欢学习,我只是这样做以备将来参考,因为我喜欢它.所以,这段代码可能并不好,但我想知道如何实现这一目标.

A. *_*das 23

这是一种模拟您尝试完成的while循环的方法.只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
Run Code Online (Sandbox Code Playgroud)

  • 当我这样做时,它仍然只输出一个0 :( (4认同)

小智 5

您可以使用一个简单的FOR命令来做到这一点:

for /l %%x in (0,1,100) do (
echo %%x
)
Run Code Online (Sandbox Code Playgroud)

您可以用100所需的号码代替