这个是因为你加了if " ||| break是跳出循环 continue就结束本次循环 在执行下一次循环 1 只能用call了 所以不能像c语言那样嵌套循环语句 因为你要换行 就和c语言一样的 就会退出程序 他会跳到:end这个语句后面正好没有语句了 当程序跳到空格的状态时 而我们的是退出循环执行下一个语句 要break在批处理中和c一样 你应该明白吧 @echo offcolor ECSETLOCAL ENABLEDELAYEDEXPANSIONset filetxt=123.txtset bakfile=JSZF.txtset Long=20cd.>%bakfile%:endfor /f %%i in (%filetxt%) do (set "JSZF=%%i"for /l %%j in (0 ===刚刚我还没有写竟然就提交了任务 ||| 修改起来很麻烦 1 JSZF:~%%j 1 1 JSZF:~%%j %Long%) do (if " "=="" goto :end0>>%bakfile% echo )):end0for /f "skip=1" %%i in (%filetxt%) do (set "JSZF=%%i"for /l %%j in (0 1 JSZF:~%%j 1 1 JSZF:~%%j %Long%) do (if " "=="" goto :end1>>%bakfile% echo )):end1for /f "skip=2 " %%i in (%filetxt%) do (set "JSZF=%%i"for /l %%j in (0 1 JSZF:~%%j 1 1 JSZF:~%%j %Long%) do (if " "=="" goto :end3>>%bakfile% echo JSZF:~%%j 所以呢只能这样写 ||| 再说一句 我在百度上也看到和你一样的问题 写完了 )):end3exit累死了 "=="" goto :end语句的关系 c语言的break是跳出循环 我想是同一个人吧
关于跳出for的批处理
最新推荐文章于 2023-05-16 13:42:32 发布