bat一个问题,就是for循环里的continue的实现。。

lhp0455 2011-11-24 08:14:32
findstr /b /c:" Testcase" DlgBox_*.txt>b.txt
for /f "tokens=1,2,* delims=] " %%a in (DlgBox_Setup1.txt) do (
for /f "tokens=2 delims=(," %%i in (b.txt) do (
if %%b==%%i (echo %%a ] //%%b>>temp.txt)
continue //就是我想在这里实现一个类似c里continue功能的东西,用了goto和call貌似都不行 请高手指点一下- -
)
echo %%a ] %%b%%c>>temp.txt
)


就是如果%%b==%%i 跳出里面的for循环 进入外层的for循环 是break 还是 continue了 忘记了 就指点啊
...全文
2007 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yorkinchai 2011-11-29
  • 打赏
  • 举报
回复
for循环的次数取决于其命令本身,goto语句无法退出此循环,比如,下面的代码遍历一个文本文件,虽然我们在遍历文本的第一行时就使用goto到达:end,但是循环仍然继续:
for /F %%i in (%1) do call :sub %%i
goto :end

:sub
echo inloop
goto :end
goto :eof

:end
echo end
输出信息如下:
inloop
end
inloop
end
inloop
end
end
如果要退出for循环,可修改代码为:
SETLOCAL ENABLEDELAYEDEXPANSION
set loopContinue=1
for /F %%i in (%1) do if !loopContinue!==1 (call :sub %%i)
goto :end

:sub
echo inloop
set loopContinue=0
goto :end
goto :eof

:end
echo end
输出信息如下:
inloop
end
end

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧