为什么此批处理文件永远不会中断?
For /L %%f In (1,1,1000000) Do @If Not Exist %%f Goto :EOF
Goto :EOF
是否应打破常规?编辑:
我想我应该更明确地问……我该如何跳出循环?
最佳答案
根据Tim's second edit和this 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/