中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理编写过程中经常出现“此时不应有goto"
作者:
标题: [求助]批处理编写过程中经常出现“此时不应有goto" 上一主题 | 下一主题
doslike
版主

系统收藏家


积分 326
发帖 285
注册 2010-2-22
来自 黑龙江省
状态 离线
『楼 主』:  [求助]批处理编写过程中经常出现“此时不应有goto"

经常出现这样的问题,为什么会出现?又如何解决?

2011-1-15 18:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

1,单独一个 goto 是不会有这样问题的


2, goto 和其他命令组合。当然和 if 组合最多。

第一种,字符比较:if %a%==1 goto b
当 %a% 为空时返回错误:此时不应有 goto
解决方法:加引号 if "%a%"=="1" goto b

第二种,数值比较:if %a% lss 1 goto b
因为要执行数值比较,所以不能加引号来避免 %a% 为空的情况
解决方法1:在这之前单独处理 %a% 为空的情况
解决方法2,使用延迟的变量,例如 if !a! lss 1 goto b

[ Last edited by Hanyeguxing on 2011-1-15 at 22:36 ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 xinjingdos 分数: +1  时间:2011-1-15 22:57




批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-15 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
726842270
初级用户

枫中残雪


积分 65
发帖 43
注册 2010-4-29
来自 吉林省长春市
状态 离线
『第 3 楼』:  

这么说CMD对空格的处理是在"%变量%"和"!变量!"之间了?(PS:我想也是在FOR的%%I之后吧,要不然怎么能删除空行呢)

2011-1-17 02:33
查看资料  发送邮件  发短消息 网志  OICQ (726842270)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: