![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 12:09 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论] 与 [分析] CMD 的 新BUG。 |
| 可打印版本 749 / 7 |
| 第1楼 flyinspace | 发表于 2007-05-05 23:20 |
| 银牌会员 发帖 517 积分 1,206 | |
|
[讨论] 与 [分析] CMD 的 新BUG。 大家把上面的保存为 1.CMD 然后运行试试。。 就会发现 CMD 的先天性 BUG 了。。。 前提:本机无设置共享。。。或 修改 findstr /i " 这里的内容" 然后你就会发现 echo %%i 出现的居然是 :现在开始出 CMD 的新 bug 就先介绍到这里。。 我 先去分析为什么会出现这种情况去:) |
|
| 第2楼 flyinspace | 发表于 2007-05-05 23:27 |
| 银牌会员 发帖 517 积分 1,206 | |
|
分析的第一步 for 语句中的
net view | finstr /i ":\" || echo 现在开始出现 BUG 是否正确。。 但经过测试 上面的对话确实能正确显示。。 那么就是说:出现问题的地方是在 : for 语句中。。 当我们测试 : for /f "tokens=* " %%i in ('echo 现在开始出现 BUG 了') echo %%i 的时候,上面的情况依然会出现。。。 难道 echo 和 for 语句有冲突? |
|
| 第3楼 flyinspace | 发表于 2007-05-05 23:36 |
| 银牌会员 发帖 517 积分 1,206 | |
|
于是,我开始了
for /f "tokens=* " %%i in ('echo 01234567890123456789') do echo %%i 的测试,经过测试:上述语句能正确输出。。 但当其中的数字变换成为 汉字 或 双字节的标点符号的时候。。问题就出现了。 for /f "tokens=* " %%i in ('echo 一二三四五六七八九十') do echo %%i 这一句就只能显示 : 一二三四五 完全证实了我的猜想。。。看来 for 语句还是对汉字的处理不太好。 呵,既然发现了。那么就让我们找找看。是否可以利用这个bug来为我们做一些什么。 |
|
| 第4楼 slore | 发表于 2007-05-05 23:50 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
看图 如图:
附件 Pic.JPG (24.04 KiB) |
|
| 第5楼 slore | 发表于 2007-05-05 23:55 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
汗~ 无语了……
附件 Pic2.JPG (27.62 KiB) |
|
| 第6楼 slore | 发表于 2007-05-05 23:57 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
不知道是你的系统有问题还是我的……
ele那个彩色的我一点效果都没有,你这个BUG我也eat掉了=。= 是不是还在研究呢?睡觉吧先…… [ Last edited by slore on 2007-5-6 at 12:01 AM ] |
|
| 第7楼 flyinspace | 发表于 2007-05-06 00:27 |
| 银牌会员 发帖 517 积分 1,206 | |
|
哈哈,谢谢你的回复。。
我现在使用的电脑的操作系统为:windows 2000 若你的系统没有问题。 那么可能 windows XP 修复了这个bug。 |
|
| 第8楼 bjsh | 发表于 2007-05-06 10:12 |
| 银牌会员 发帖 621 积分 2,000 | |
|
xp确实没有这个问题..
to slore: est的那个彩色在xp上确实只能第一次运行时可以;后来就什么显示都没有了.. 试了vista;可以; 有这样两个现象: 在vista系统下;如果把那个批处理放在 xp系统所在盘下运行;则会出现提示 MSDOS版本错误;每次运行都是这样的; 放于其他盘符,则可以正常执行;每次运行都正常; 在xp系统下;除了第一次正常显示外;再运行就什么都不显示;其他盘也一样; 但是; 如果把那个批处理放于vista系统所在盘下运行; 则可以正常显示一次;第二次则没有效果; 重新启动后;vista所在盘 又可以运行一次;.. 实在是诡异的问题啊... |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |