中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 19:24
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » rem的一个bug??
可打印版本  756 / 7
第1楼 scriptor 发表于 2007-09-13 17:12
银牌会员 发帖 555 积分 1,187
rem的一个bug??


这个有没有人注意到啊?
这一句

就等价于


是rem的一个bug还是...?
第2楼 scriptor 发表于 2007-09-13 17:14
银牌会员 发帖 555 积分 1,187
还有一个
第3楼 scriptor 发表于 2007-09-13 17:18
银牌会员 发帖 555 积分 1,187
goto :p


goto :p rem 跳转

goto :p rem 跳转 2>nul
是一样的效果


这里的rem又起到什么作用了
用于不用
似乎没有太大影响啊!
第4楼 scriptor 发表于 2007-09-13 17:20
银牌会员 发帖 555 积分 1,187
这样,我是想
以后要对那个语句做注释的时候
就不一定要另起一行了
可以直接在某些命令的后面空格后
直接写 rem ...... 2>nul
这个也未尝不是一个小技巧
注意的是
echo 后面似乎不行
它会被echo直接输出
第5楼 ThinKing 发表于 2007-09-13 20:02
中级用户 发帖 207 积分 471
并非REM的BUG,楼主注意rem后面都有一个2>nul,证明还是有错误信息出现,只是被2>nul给屏蔽罢了。

至于 “goto :loop rem 。。” 后面没有“2>nul”,是因为 goto 之后的标签对空格不起作用,也就是只有空格前的标签才有效。

例子:
第6楼 scriptor 发表于 2007-09-13 20:27
银牌会员 发帖 555 积分 1,187
to thinking:
有是你啊!
你所指的那个,我注意到了
故此,在后面加了个 2>nul

但是逻辑上: 2>nul是屏蔽出错信息么?
若只是这样
为什么 set /a .... rem....
仍然能给出正确的结果?
怎么解释这种机制!?
第7楼 ThinKing 发表于 2007-09-13 21:19
中级用户 发帖 207 积分 471
set /a ... rem ... 这个虽然会报错,但是报错并不代表前面的set /a n+=1部分不进行计算,是仍然可以运行的,所以可以得到结果。
第8楼 scriptor 发表于 2007-09-13 21:41
银牌会员 发帖 555 积分 1,187
看来只能从预处理来理解了
呵呵......
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023