找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22069|回复: 3

[文本处理] 批处理怎样跳出嵌套for循环?

[复制链接]
发表于 2014-8-19 10:22:17 | 显示全部楼层 |阅读模式
本帖最后由 leave00608 于 2014-8-19 14:19 编辑

  1. @echo off & setlocal EnableDelayedExpansion

  2. set tmp_dir=E:\X\test\runtime\local\tt
  3. set save_dir=E:\X\test\runtime\local\ttt

  4. for %%I in (0,1) do (
  5.         echo start
  6.         if "%%I"=="0" (
  7.                 echo A
  8.                 for /f %%j in ('dir %tmp_dir%\test /b /o-n /ad') do (
  9.                         set segment=%%j
  10.                         goto break
  11.                 )
  12.         ) else (
  13.                 echo B
  14.                 for /f %%j in ('dir %save_dir%\segments /b /o-n /ad') do (
  15.                         set segment=%%j
  16.                         goto break
  17.                 )
  18.         )
  19.         :break
  20.         
  21.         echo %segment%
  22.         if "%%I"=="0" (
  23.                 echo D
  24.         ) else (
  25.                 echo E
  26.         )
  27.         echo F
  28. )
  29. echo end
复制代码
这是完整的代码
我想要输出的结果为
start
A
%segment% 的值
D
F
B
%segment% 的值   必然与上一次的值不同的
E
F
end
发表于 2014-8-19 11:31:25 | 显示全部楼层
:break
call xxx1.bat
call xxx2.bat

把这段放到for循环外面
发表于 2014-8-19 11:34:22 | 显示全部楼层
最后那个)不应该把  
       :break
        call xxx1.bat
        call xxx2.bat
括上。
应该摆外面,不能属于FOR的重复语句。
发表于 2014-8-19 13:36:48 | 显示全部楼层
嗯,break写到for循环里边去了,这下跳不出来了。把break扔出for循环就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 05:05 , Processed in 0.037785 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表