batch-file - 是否退出批处理文件中的FOR循环?

标签 batch-file for-loop break

为什么此批处理文件永远不会中断?

For /L %%f In (1,1,1000000) Do @If Not Exist %%f Goto :EOF
Goto :EOF是否应打破常规?
编辑:
我想我应该更明确地问……我该如何跳出循环?

最佳答案

根据Tim's second editthis page可以执行以下操作:

@echo off
if "%1"=="loop" (
  for /l %%f in (1,1,1000000) do (
    echo %%f
    if exist %%f exit
  )
  goto :eof
)
cmd /v:on /q /d /c "%0 loop"
echo done

This page提出了一种在循环内使用goto的方法,虽然看起来确实可行,但是在大型循环中需要一些时间。因此在内部,它会在执行goto之前完成循环。

关于batch-file - 是否退出批处理文件中的FOR循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728798/

相关文章:

windows - 使用 Windows 批处理脚本重命名目录中的所有文件

c++ - C++中的for循环提前一步使用双重突破,未达到边界值

java - 如何避免重复出现相同的号码?

Python退出所有函数并停止执行

android - 创建应用程序时调用多个 fragment

c - 中断 for 循环内的 if 语句

windows - 批处理 : Search for string to skip lines above and write results to new file

email - 如何将参数传递给 .msg 文件?

batch-file - 递归 .bat 文件将 jpegtran 和 pngout 应用于子文件夹中的所有图像

c - 因子博弈,使用循环