标题: [文件操作] 批处理for /l 循环异常退出的小问题 [打印本页]
作者: 3351321147 时间: 2023-10-29 20:21 标题: 批处理for /l 循环异常退出的小问题
我在批处理里进行读取文件内容操作,有需求for /l 循环10次,有时候好好的10次,但是不知原因会出现%i然后下次就退出循环,比如,循环到4,5变成了%i,6就没了。
作者: 77七 时间: 2023-10-29 20:35
请把代码发出来看看
作者: 3351321147 时间: 2023-10-29 21:32
本帖最后由 3351321147 于 2023-10-29 21:59 编辑
回复 2# 77七
有第三方命令,speak echox
使用话需要,改下txt文件位置复制代码
作者: 3351321147 时间: 2023-10-29 21:33
本帖最后由 3351321147 于 2023-10-29 21:46 编辑
回复 3# 3351321147
文本- 1day
- i 我
- my 我的
- like 喜欢
- you 你
- your 你的
- mother 母亲
- father 父亲
- dog 狗
- cat 猫
- book 书
- student 学生
- teacher 老师
- 2day
- red 红色
- green 绿色
- blue 蓝色
- black 黑色
- white 白色
- big 大
- small 小
- room 房间
- we 我们
- our 我们的
- phone 手机
- house 房子
- computer 电脑
- Ther 他们
- their 他们的
- 3day
复制代码
作者: 3351321147 时间: 2023-10-29 21:34
本帖最后由 3351321147 于 2023-10-29 22:04 编辑
[img][/img]回复 4# 3351321147 - :forF
- :: 循环考研10次
- set a=0
- for /L %%a in (1,1,10) do (
- : s
- :: 通过计算将随机数设置在指定行号之间
- set /a "s=!random! %%(%day2%-%day1%-1)"
- :: 判断重复,小判断
- if !a! EQU !s! (goto s) else (set a=!s!)
- echo.& echo.第%%a句
- call :dp !s!
- ) 2>nul
复制代码
是这部分,会出现%a退出情况
作者: 77七 时间: 2023-10-29 22:22
本帖最后由 77七 于 2023-10-29 22:25 编辑
回复 5# 3351321147
试试把语句内的注释去掉,或者改为rem
还有不要在括号内写标签
作者: 3351321147 时间: 2023-10-30 07:49
本帖最后由 3351321147 于 2023-10-30 07:58 编辑
谢谢大佬,我把标签取消了,记录了选择单词总量,重复加1,超出换1,没有出现上述问题,谢谢
为什么循环里不要用标签,和注释大佬。
作者: 77七 时间: 2023-10-30 08:56
本帖最后由 77七 于 2023-10-30 09:09 编辑
回复 7# 3351321147
- @echo off
- for %%a in (1 2) do (
- echo %%a
- :: 123
- )
- pause
复制代码
::这个注释用在语句内有时候会导致闪退,比如上面的代码
标签,从括号内往外跳可以,不能跳到括号内。
大概就是前辈们的经验,我也不知道为什么。
作者: Five66 时间: 2023-10-30 17:27
http://www.bathome.net/post.php? ... p;extra=&page=2
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |