batch-file - "Counter"批量

标签 batch-file

我正在尝试制作一个批处理文件,每次循环时都会将变量增加 1,然后检查变量是否等于 5,如果不是,则再次循环。我知道这可能有一个 while 循环,但我不知道如何做到这一点,我现在只是享受学习 Batch 的乐趣

这是代码,它没有按应有的方式工作,它只显示一个 0: 然后什么也不做。那么我将如何修复它?我有一种感觉,我正在设置和增加变量错误,也许它对 2 if 语句感到困惑? (是否还有其他 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

注意:我对 Batch 了解不多,也不是专业人士,但我喜欢学习,我只是为了将来引用而这样做,因为我喜欢它。所以,这段代码可能不好,但我想知道我如何才能做到这一点。

最佳答案

这是一种模拟您尝试完成的 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

关于batch-file - "Counter"批量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450163/

相关文章:

windows - 在 Windows 中列出目录堆栈

windows - 运行服务后命令提示符关闭太快

batch-file - 在批处理文件中获取两个目录的路径

batch-file - 批处理 : Simply Syntax Error : Goto was unexpected at this time

batch-file - 使用 cmd 一次重命名多个文件 [Windows 10]

java - 制作批处理文件来安装程序

windows - 递归删除匹配 "*folder1\folder2"的文件夹

c++ - 有什么方法可以在打开应用程序的 VS 中将批处理文件作为构建后事件运行?

windows - 批处理文件 - 检查命令是否可用

batch-file - 如何使用批处理脚本将未清理的字符串复制到剪贴板